]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Alieve/MUONChamberData.h
Changes due to removal of AliMUONSim/RecData (Laurent)
[u/mrichter/AliRoot.git] / EVE / Alieve / MUONChamberData.h
1 #ifndef ALIEVE_MUONChamberData_H
2 #define ALIEVE_MUONChamberData_H
3
4 #include <Reve/Reve.h>
5
6 #include <TObject.h>
7
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
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)
28   Int_t   fNClusters;                 // number of found rec points
29   Int_t   fNHits;                     // number of simulation hits
30   Float_t fDigitBuffer[7*4096];       // digits coordinates, etc.
31   Float_t fClusterBuffer[5*256];      // cluster coordinates, etc.
32   Float_t fHitBuffer[3*256];          // hits coordinates
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);
43
44   void     RegisterDigit(Int_t detElemId, Int_t cathode, Int_t ix, Int_t iy, Int_t charge);
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
48   Float_t* GetFrameCoord(Int_t detElemId) { return fFrameCoord[detElemId]; };
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
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