1 |
mocchiut |
1.1 |
/** @file |
2 |
mocchiut |
1.2 |
* $Author: mocchiut $ |
3 |
|
|
* $Date: 2008/09/23 07:20:24 $ |
4 |
|
|
* $Revision: 1.1.1.1 $ |
5 |
mocchiut |
1.1 |
* |
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 |
mocchiut |
1.2 |
TObject *GetPtr(TString name=""); |
42 |
mocchiut |
1.1 |
//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 |
mocchiut |
1.2 |
ClassDef(EventReader, 2) |
54 |
mocchiut |
1.1 |
}; |
55 |
|
|
} |
56 |
|
|
} |