// ----------------------------------------------------------------------------- // ----- TTofTrbTdcUnpacker header file ----- // ----- ----- // ----- created by C. Simon on 2014-04-02 ----- // ----- ----- // ----- based on TTofVftxUnpacker by P.-A. Loizeau ----- // ----- https://subversion.gsi.de/fairroot/cbmroot/development/ploizeau/ ----- // ----- main/unpack/tof/tdc/vftx/TTofVftxUnpacker.h ----- // ----- revision 20754, 2013-07-17 ----- // ----------------------------------------------------------------------------- #ifndef TTOFTRBTDCUNPACKER_H_ #define TTOFTRBTDCUNPACKER_H_ #include "TObject.h" #include class TMbsUnpackTofPar; namespace hadaq { class RawSubevent; } /* namespace trbtdc { enum TrbTdcProcessStatus; } */ class TClonesArray; class TH1; class TDirectory; class TTofTrbTdcUnpacker : public TObject { public: TTofTrbTdcUnpacker( TMbsUnpackTofPar * parIn ); ~TTofTrbTdcUnpacker(); // unsure if needed // never called in the unpacker void Clear(Option_t *option); Int_t ProcessData( hadaq::RawSubevent* tSubevent, UInt_t uStartIndex ); void CreateHistos(); void FillHistos(); void WriteHistos( TDirectory* inDir); void DeleteHistos(); private: TMbsUnpackTofPar * fParUnpack; UInt_t fuNbActiveTrbTdc; TClonesArray * fTrbTdcBoardCollection; // TDC board histograms // channel occupancy distribution std::vector fTrbTdcChannelOccupancy; // channel fine time overshoot distribution std::vector fTrbTdcChannelFineTimeOvershoot; // channel undetected hits distribution std::vector fTrbTdcChannelUnprocessedHits; // TDC channel histograms // channel fine time distribution std::vector< std::vector > fTrbTdcChannelFineTime; // channel coarse time distribution std::vector< std::vector > fTrbTdcChannelCoarseTime; ClassDef(TTofTrbTdcUnpacker, 1) }; #endif