/* * PndMQHitsEventBuilder.h * * Created on: 21.10.2015 * Author: Stockmanns */ #ifndef MVD_MVDOFFLINETBANALYSIS_TOPIX4_MQ_PNDMQHITSEVENTBUILDER_H_ #define MVD_MVDOFFLINETBANALYSIS_TOPIX4_MQ_PNDMQHITSEVENTBUILDER_H_ #include #include #include "PndSdsHit.h" using namespace std; class PndMQHitsEventBuilder { public: PndMQHitsEventBuilder(int nChannels = 4); virtual ~PndMQHitsEventBuilder(); void AddData(deque > >& data); deque > GetEvents(); vector GetSensorsInEvent(){ return fSensorsInEvent;} std::vector GetInputDataLevel(){ std::vector result; for (auto& channelIter : fInputData){ result.push_back(channelIter.size()); } return result; } protected: vector GetChannelsInEvent(deque* >& eventData); int FindFirstChannel(deque* >& eventData); ///< channel which has the oldest data deque GetNextEvent(); vector fSensorsInEvent; bool HasData(); private: vector > > fInputData; //< array of InputChannels. An InputChannel contains PndSdsHits grouped in events int fNChannels; int fEventCounter; }; #endif /* MVD_MVDOFFLINETBANALYSIS_TOPIX4_MQ_PNDMQHITSEVENTBUILDER_H_ */