/* * CbmDaqBuffer.h * * Created on: 17.07.2012 * Author: friese */ #ifndef CBMDAQBUFFER_H_ #define CBMDAQBUFFER_H_ #include #include #include "CbmDetectorList.h" #include "CbmDigi.h" using namespace std; class CbmDaqBuffer { public: ~CbmDaqBuffer(); Double_t GetFirstTime() const; Double_t GetFirstTime(Int_t iDet) const { if ( iDet < kREF || iDet >= kNOFDETS ) return -1.; return (fData[iDet].begin())->second->GetTime(); } Double_t GetLastTime() const; Double_t GetLastTime(Int_t iDet) const { if ( iDet < kREF || iDet >= kNOFDETS ) return -1.; return (--fData[iDet].end())->second->GetTime(); } CbmDigi* GetNextData(Int_t iDet, Double_t time); Int_t GetSize() const; void InsertData(CbmDigi* digi); /** Get singleton instance **/ static CbmDaqBuffer* Instance(); private: multimap fData[kNOFDETS]; static CbmDaqBuffer* fgInstance; /** Default constructor ** Declared private to prevent instantiation. **/ CbmDaqBuffer(); /** Copy constructor. Defined private to prevent usage. **/ CbmDaqBuffer(const CbmDaqBuffer&); /** Assignment operator. Defined private to prevent usage. **/ CbmDaqBuffer& operator=(const CbmDaqBuffer&); }; #endif /* CBMDAQBUFFER_H_ */