/** @file * $Author: kusanagi $ * $Date: 2004/07/06 12:20:23 $ * $Revision: 1.1.1.1 $ * * Header file for the algorithms used to read the techmodel data file. */ #include "TechmodelPamelaRun.h" #include "TechmodelAlgorithm.h" namespace pamela { namespace techmodel { /** * Main event reader algorithm. It handles all other specific * reader algorithms. */ class EventReader: public TechmodelAlgorithm { private: /** * A map with an algorithm to read the techmodel file with the packet * type as key. */ typedef std::map AlgorithmMap; /** * The map that links every packet type to an algorithm that reads it. */ AlgorithmMap TechmodelAlgorithmMap; //! /** * The event header. */ EventHeader* Header; //! /** * The Run that is processed. */ TechmodelPamelaRun *Run; //! int UnpackPscuHeader(void) throw (std::exception); void UnpackPscuTrailer(void) throw (std::exception); static unsigned int prevPckCounter; static unsigned int prevPckOBT; public: EventReader(void); virtual void Init(PamelaRun *); virtual void RunEvent(int); virtual std::string GetVersionInfo(void) const; virtual int FindStart(void) throw (std::exception); ClassDef(EventReader, 1) }; } }