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