// ----------------------------------------------------------------------------- // ----- TTrbUnpackTof header file ----- // ----- ----- // ----- created by C. Simon on 2014-03-08 ----- // ----- ----- // ----- based on TTrbUnpackTof by P.-A. Loizeau ----- // ----- https://subversion.gsi.de/fairroot/cbmroot/development/ploizeau/ ----- // ----- main/unpack/tof/TTrbUnpackTof.h ----- // ----- revision 21379, 2013-08-24 ----- // ----------------------------------------------------------------------------- #ifndef TTRBUNPACKTOF_H #define TTRBUNPACKTOF_H // General FairRoot unpacker of GSI/MBS events #include "FairUnpack.h" // Parameters class TMbsUnpackTofPar; // Iterator namespace hadaq { class TrbIterator; } // Subunpacker class TTofTrbTdcUnpacker; // ROOT class TClonesArray; class TH1; class TTrbUnpackTof : public FairUnpack { public: TTrbUnpackTof( Short_t type, Short_t subType, Short_t procId, Short_t subCrate, Short_t control); virtual ~TTrbUnpackTof(); // FairUnpack pure virtual methods virtual Bool_t Init(); virtual Bool_t DoUnpack(Int_t* data, Int_t size); virtual void Reset(); void WriteHistograms(); protected: // FairUnpack pure virtual method // neither called by a FairSource daughter class nor by FairRunOnline // why made pure virtual in FairUnpack? virtual void Register(); private: TTrbUnpackTof(const TTrbUnpackTof&); TTrbUnpackTof operator=(const TTrbUnpackTof&); // Methods Bool_t InitParameters(); Bool_t CreateSubunpackers(); Bool_t RegisterOutput(); Bool_t ClearOutput(); // Parameters TMbsUnpackTofPar * fMbsUnpackPar; Int_t fiNbEvents; // Iterator hadaq::TrbIterator * fTrbIterator; // Subunpacker TTofTrbTdcUnpacker * fTrbTdcUnpacker; // Output objects TClonesArray * fTrbTdcBoardCollection; void CreateHistograms(); void DeleteHistograms(); UInt_t fuInDataTrbSebNb; UInt_t fuActiveTrbTdcNb; // Histograms std::vector fTrbSubeventSize; std::vector fTrbTdcWords; std::vector fTrbTdcProcessStatus; ClassDef(TTrbUnpackTof,1) }; #endif