]>
Commit | Line | Data |
---|---|---|
3626c858 | 1 | #ifndef ALIEVE_MUONChamberData_H |
2 | #define ALIEVE_MUONChamberData_H | |
3 | ||
84aff7a4 | 4 | #include <TEveUtil.h> |
3626c858 | 5 | |
6 | #include <TObject.h> | |
7 | ||
3626c858 | 8 | class AliMUONGeometryTransformer; |
9 | ||
10 | namespace Alieve { | |
11 | ||
12 | class MUONChamberData : public TObject | |
13 | { | |
14 | ||
15 | MUONChamberData(const MUONChamberData&); // Not implemented | |
16 | MUONChamberData& operator=(const MUONChamberData&); // Not implemented | |
17 | ||
18 | private: | |
19 | ||
3626c858 | 20 | static AliMUONGeometryTransformer* fgTransformer; // geometry transformer |
21 | ||
22 | protected: | |
23 | ||
24 | Int_t fChamberID; // number of the chamber, 0 to 13 | |
25 | Float_t fFrameCoord[26][5]; // detector elements frames | |
26 | Int_t fNDetElem; // number of detector elements | |
27 | Int_t fNDigits; // number of found digits (times 7) | |
eadce74d | 28 | Int_t fNClusters; // number of found rec points |
29 | Int_t fNHits; // number of simulation hits | |
3626c858 | 30 | Float_t fDigitBuffer[7*4096]; // digits coordinates, etc. |
cef26510 | 31 | Float_t fClusterBuffer[5*256]; // cluster coordinates, etc. |
32 | Float_t fHitBuffer[3*256]; // hits coordinates | |
3626c858 | 33 | Float_t fChamberBox[6]; // chamber envelope box |
34 | ||
35 | public: | |
36 | ||
37 | MUONChamberData(Int_t chamber); | |
38 | virtual ~MUONChamberData(); | |
39 | ||
40 | void DropData(); | |
41 | ||
42 | void Init(Int_t chamber); | |
eadce74d | 43 | |
3626c858 | 44 | void RegisterDigit(Int_t detElemId, Int_t cathode, Int_t ix, Int_t iy, Int_t charge); |
eadce74d | 45 | void RegisterCluster(Int_t detElemId, Int_t cathode, Float_t x, Float_t y, Float_t z, Float_t charge); |
46 | void RegisterHit(Int_t detElemId, Float_t x, Float_t y, Float_t z); | |
47 | ||
3626c858 | 48 | Float_t* GetFrameCoord(Int_t detElemId) { return fFrameCoord[detElemId]; }; |
eadce74d | 49 | |
50 | Int_t GetNDetElem() { return fNDetElem; }; | |
51 | Int_t GetNDigits() { return fNDigits/7; }; | |
52 | Int_t GetNClusters() { return fNClusters/5; }; | |
53 | Int_t GetNHits() { return fNHits/3; }; | |
54 | ||
55 | Float_t* GetDigitBuffer(Int_t pos) { return &fDigitBuffer[7*pos]; }; | |
56 | Float_t* GetClusterBuffer(Int_t pos) { return &fClusterBuffer[5*pos]; }; | |
57 | Float_t* GetHitBuffer(Int_t pos) { return &fHitBuffer[3*pos]; }; | |
58 | ||
3626c858 | 59 | Float_t* GetChamberBox() { return &fChamberBox[0]; }; |
60 | ||
61 | ClassDef(MUONChamberData,1); // class with data for one chamber | |
62 | ||
63 | }; | |
64 | ||
65 | } | |
66 | ||
67 | #endif |