StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StMuFcsInfo.h
1 /***************************************************************************
2  *
3  * $Id: StMuFcsInfo.h,v 1.0 2021/11/17 16:07:31 jdb Exp $
4  *
5  * Author: Daniel Brandenburg, 2021
6  ***************************************************************************
7  *
8  * Description: StMuFcsInfo is event level data for Fcs.
9  * Stores hit indices for each detector
10  *
11  ***************************************************************************/
12 #ifndef STROOT_STMUDSTMAKER_STMUFCSINFO_H
13 #define STROOT_STMUDSTMAKER_STMUFCSINFO_H
14 
15 
16 #include "TObject.h"
17 #include "StEvent/StEnumerations.h"
18 #include <iostream>
19 
20 
21 class StMuFcsInfo : public TObject
22 {
23 public:
24  StMuFcsInfo();
25  ~StMuFcsInfo();
26 
27  Int_t fcsReconstructionFlag() {return mFcsReconstructionFlag;}
28  void setFcsReconstructionFlag(Int_t v){mFcsReconstructionFlag=v;}
29 
30  void setHitIndex( UInt_t idet, UInt_t index ) { mHitIndex[idet % (kFcsNDet + 2)] = index; }
31  void setClusterIndex( UInt_t idet, UInt_t index ) { mClusterIndex[idet % (kFcsNDet + 1)] = index; }
32  void setPointIndex( UInt_t idet, UInt_t index ) { mPointIndex[idet % (kFcsNDet + 1)] = index; }
33 
34  UInt_t hitIndex( UInt_t idet ) { return mHitIndex[idet % (kFcsNDet + 2)]; }
35  UInt_t clusterIndex( UInt_t idet ) { return mClusterIndex[idet % (kFcsNDet + 1)]; }
36  UInt_t pointIndex( UInt_t idet ) { return mPointIndex[idet % (kFcsNDet + 1)]; }
37 
38 private:
39  Int_t mFcsReconstructionFlag;
40  UInt_t mHitIndex[kFcsNDet+2]; // these are intentionally 1 longer than you expect,
41  UInt_t mClusterIndex[kFcsNDet+1]; // since the last index stores the final index,
42  UInt_t mPointIndex[kFcsNDet+1]; // so that the length is known
43 
44  ClassDef(StMuFcsInfo, 1)
45 };
46 
47 
48 #endif