1 #ifndef STAR_StMtdHitMaker_H
2 #define STAR_StMtdHitMaker_H
11 #include "StRTSBaseMaker.h"
13 #include "StMtdUtil/StMtdConstants.h"
23 #if !defined(ST_NO_TEMPLATE_DEF_ARGS) || defined(__CINT__)
24 typedef vector<Int_t> IntVec;
25 typedef vector<UInt_t> UIntVec;
27 typedef vector<Int_t, allocator<Int_t>> IntVec;
28 typedef vector<UInt_t, allocator<UInt_t>> UIntVec;
44 IntVec leadingEdgeTime;
45 IntVec trailingEdgeTime;
53 Double_t leadingEdgeTime;
54 Double_t trailingEdgeTime;
57 #ifndef ST_NO_TEMPLATE_DEF_ARGS
58 typedef vector<MTDSingleHit> mtdSingleHitVector;
60 typedef vector<MTDSingleHit,allocator<MTDSingleHit>> mtdSingleHitVector;
62 typedef vector<MTDSingleHit>::iterator mtdSingleHitVectorIter;
64 #define VHRBIN2PS 24.4140625 // Very High resolution mode, pico-second per bin
66 #define HRBIN2PS 97.65625 // High resolution mode, pico-second per bin
80 TString mCosmicTrigTimeWinFile;
81 Bool_t mTriggerWndSelection;
82 Int_t mSwapBacklegInRun13;
84 Bool_t mReverseStripInRun14;
91 static const Int_t nTHUB = 2;
92 static const Int_t mNFIBER = 1;
93 UInt_t mTriggerTimeStamp[nTHUB];
94 Int_t mTray2TdigMap[gMtdNBacklegs][gMtdNModules];
95 Int_t mTrayId[gMtdNBacklegs][gMtdNModules];
96 Int_t mTdigId[gMtdNModulesAll];
97 Int_t mtdStrip[gMtdNChannels];
98 Double_t mTriggerTimeWindow[gMtdNModulesAll][2];
100 vector<MtdRawHit> MtdLeadingHits;
101 vector<MtdRawHit> MtdTrailingHits;
102 mtdSingleHitVector mSingleHitVec[gMtdNModulesAll];
114 Int_t getTdigBoardId(Int_t backlegid, Int_t tray, Int_t chn);
115 Int_t getLocalTdcChan(Int_t backlegid, Int_t tray, Int_t chn);
116 Int_t getTdigLocalChan(Int_t backlegid, Int_t itdigid);
123 IntVec GetValidChannel(
int backleg,
int tray,
int &fiber);
124 UIntVec GetLeadingTdc(
int backleg,
int tray,
int channel);
125 UIntVec GetTrailingTdc(
int backleg,
int tray,
int channel);
132 void setUseMuDst(Int_t val);
133 void setTriggerWndSelection(Bool_t val);
134 void setSwapBacklegInRun13(Int_t swap);
135 void setReverseStripInRun14(Bool_t re);
136 void setCosmicEvent(Bool_t val);
137 void setCosmicTrigTimeWinFile(
const char *file);
139 void Clear(Option_t* option=
"");
153 static const char cvs[]=
"Tag $Name: $Id: built " __DATE__
" " __TIME__ ;
return cvs;
161 inline void StMtdHitMaker::setUseMuDst(Int_t val) { mUseMuDst = val;}
162 inline void StMtdHitMaker::setTriggerWndSelection(Bool_t val) { mTriggerWndSelection = val;}
163 inline void StMtdHitMaker::setSwapBacklegInRun13(Int_t swap) { mSwapBacklegInRun13 = swap; }
164 inline void StMtdHitMaker::setReverseStripInRun14(Bool_t re) { mReverseStripInRun14 = re; }
165 inline void StMtdHitMaker::setCosmicEvent(Bool_t val) { mCosmicFlag = val; }
166 inline void StMtdHitMaker::setCosmicTrigTimeWinFile(
const char *file)
167 { mCosmicTrigTimeWinFile = file; }
Class StRTSBaseMaker - is an abstract StMaker to define the interface to access the DAQ data from the...
vector< MtdRawHit > getLeadingHits()
obtain the whole list of leading edge hits
UChar_t globaltdcchan
1,2,...,117
void Clear(Option_t *option="")
User defined functions.
void fillMtdHitCollection()
StRtsTable * GetNextRaw()
This is an overloaded member function, provided for convenience.
UChar_t fiberid
data word before unpack
UInt_t dataword
tdc time (in bin) per hit.
IntVec GetValidTrays()
ship collection to StEvent and check
virtual const char * GetCVS() const
cvs
StMtdCollection * GetMtdCollection()
Int_t tdcChan2globalStrip11(Int_t, Int_t, Int_t, Int_t)
Int_t tdcChan2globalStrip(Int_t, Int_t, Int_t, Int_t)
StMtdHitMaker(const char *name="mtd_raw")
Default constructor.
vector< MtdRawHit > getTrailingHits()
obtain the whole list of trainling edge hits
void fillMtdRawHitCollection()