| 1 | /** @file | 
| 2 | * $Author: mocchiut $ | 
| 3 | * $Date: 2008/09/23 07:20:24 $ | 
| 4 | * $Revision: 1.1.1.1 $ | 
| 5 | * | 
| 6 | * Header file for the algorithms used to read the techmodel data file. | 
| 7 | */ | 
| 8 |  | 
| 9 | #include "event/PamelaRun.h" | 
| 10 | #include "TechmodelAlgorithm.h" | 
| 11 |  | 
| 12 | namespace pamela { | 
| 13 | namespace techmodel { | 
| 14 |  | 
| 15 | /** | 
| 16 | * Main event reader algorithm. It handles all other specific | 
| 17 | * reader algorithms. | 
| 18 | */ | 
| 19 | class EventReader: public TechmodelAlgorithm { | 
| 20 | private: | 
| 21 | /** | 
| 22 | * A map with an algorithm to read the techmodel file with the packet | 
| 23 | * type as key. | 
| 24 | */ | 
| 25 | typedef std::map<const PacketType *, TechmodelAlgorithm *> AlgorithmMap; | 
| 26 | /** | 
| 27 | * The map that links every packet type to an algorithm that reads it. | 
| 28 | */ | 
| 29 | AlgorithmMap TechmodelAlgorithmMap; //! | 
| 30 |  | 
| 31 | /** | 
| 32 | * The Run that is processed. | 
| 33 | */ | 
| 34 | PamelaRun *Run; | 
| 35 |  | 
| 36 | public: | 
| 37 |  | 
| 38 | //The event header | 
| 39 | EventHeader* Header; | 
| 40 | void PKT_UnpackPscuHeader(char* buff); | 
| 41 | TObject *GetPtr(TString name=""); | 
| 42 | //Distructor | 
| 43 | virtual ~EventReader(void); | 
| 44 | EventReader(void); | 
| 45 |  | 
| 46 | virtual void Init(PamelaRun *); | 
| 47 |  | 
| 48 | //      virtual void PKT_RunEvent(char* headerPkt, char *pamPkt, long int length, const PacketType* type); | 
| 49 | virtual int PKT_RunEvent(char* headerPkt, char *pamPkt, long int length, const PacketType* type); | 
| 50 |  | 
| 51 | virtual std::string GetVersionInfo(void) const; | 
| 52 |  | 
| 53 | ClassDef(EventReader, 2) | 
| 54 | }; | 
| 55 | } | 
| 56 | } |