#ifndef HMDCTRBCUNPACKER_H #define HMDCTRBCUNPACKER_H #include "hlocation.h" #include "htrbctdcunpacker.h" #include class HMdcTrbCLookup; class HMdcTrbCLookupChan; class HMdcLookupGeom; class HMdcTrbCUnpacker: public HTrbCtdcUnpacker { protected: HLocation fLoc; // location of raw cell object HMdcTrbCLookup* fLookup; // TRB3 lookup table HMdcLookupGeom* fLookupOld; //! old lookup table for evalulation of raw event element Bool_t fTimeRef; // use reference time ? Bool_t fNoComment; // switch debug mode Double_t fTimeUnit; // conversion factor from seconds to time units used in raw category static Bool_t fHasPrintedTDC; /** helper function to map new hardware channels to old paritioning for previousraw cat */ Bool_t translateAddress(HMdcTrbCLookupChan *chan); /** returns raw data element from category for current fLoc*/ HMdcRaw* getFreeOrExistingSlot(); Bool_t addRawHit(Double_t t_leading, Double_t t_trailing, HMdcTrbCLookupChan *chan); public: HMdcTrbCUnpacker(vector& ids); virtual ~HMdcTrbCUnpacker(void) {} Bool_t init(void); Bool_t reinit(void); Int_t execute(void); void disableTimeRef(Bool_t disable) { fTimeRef = disable ; } ClassDef(HMdcTrbCUnpacker, 0) // TRB3 unpacker for the TOF detector }; #endif /* !HMDCTRB3UNPACKER_H */