#ifndef HRPCTRB3UNPACKER_H #define HRPCTRB3UNPACKER_H #include "hlocation.h" #include "htrb3tdcunpacker.h" #include <vector> class HRpcTrb3Lookup; class HRpcTrb3LookupChan; class HRpcTrb3Unpacker: public HTrb3TdcUnpacker { protected: HLocation fLoc; // location of raw cell object HRpcTrb3Lookup* fLookup; // TRB3 lookup table Bool_t fTimeRef; // use reference time ? Bool_t bStoreSpareChanData; // flag for storing data from spare channels (cells over no. 31). By default, it is not. Double_t fTimeShift; //shift all times by a constant (to positive). Pendant to trb2 unpacker timeShift static Bool_t fHasPrintedTDC; public: HRpcTrb3Unpacker(vector<UInt_t>& ids); virtual ~HRpcTrb3Unpacker(void) {} Bool_t init(void); Bool_t reinit(void); Int_t execute(void); void disableTimeRef(Bool_t disable) { fTimeRef = disable ; } void storeSpareChannelsData(Bool_t store=kTRUE) { bStoreSpareChanData = store; } // Switch on storing spare channels data void shiftTimes(Double_t ts) {fTimeShift = ts;}; Int_t addRawHit(Double_t t_leading, Double_t t_trailing, HRpcTrb3LookupChan *chan); ClassDef(HRpcTrb3Unpacker, 0) // TRB3 unpacker for the RPC detector }; #endif /* !HRPCTRB3UNPACKER_H */