]>
Commit | Line | Data |
---|---|---|
345a46b0 | 1 | // |
c3e34498 | 2 | // Store the data related to each Super Module |
3 | // | |
4 | // Author: Magali Estienne (magali.estienne@cern.ch) | |
5 | // June 30 2008 | |
345a46b0 | 6 | // |
c3e34498 | 7 | |
cc9486d4 | 8 | #ifndef ALIEVEEMCALSMODULEDATA_H |
9 | #define ALIEVEEMCALSMODULEDATA_H | |
c3e34498 | 10 | |
345a46b0 | 11 | #include "AliEveEMCALData.h" |
c3e34498 | 12 | |
345a46b0 | 13 | class TClonesArray; |
14 | class TGeoNode; | |
15 | class TGeoMatrix; | |
16 | class TEvePointSet; | |
17 | class TEveQuadSet; | |
c3e34498 | 18 | |
345a46b0 | 19 | class TEveBoxSet; |
20 | class TEveFrameBox; | |
21 | class TEvePointSet; | |
22 | class TEveTrans; | |
23 | class TTree; | |
24 | class TStyle; | |
25 | class TGedFrame; | |
26 | class TBuffer3DTypes; | |
27 | class TBuffer3D; | |
28 | class TVirtualPad; | |
29 | class TVirtualViewer3D; | |
30 | class AliRun; | |
c3e34498 | 31 | class AliEMCALGeometry; |
345a46b0 | 32 | class AliESDEvent; |
33 | class AliEMCAL; | |
34 | class AliEMCALHit; | |
35 | class AliEMCALDigit; | |
36 | class AliEMCALGeometry; | |
37 | ||
c3e34498 | 38 | |
39 | class AliEveEMCALSModuleData : public TObject | |
40 | { | |
41 | public: | |
42 | AliEveEMCALSModuleData(Int_t chamber,AliEMCALGeometry* geom,TGeoNode* node, TGeoHMatrix* m); | |
43 | virtual ~AliEveEMCALSModuleData(); | |
44 | ||
a312477b | 45 | void DropData(); |
46 | void Init(Int_t sm); | |
47 | void RegisterDigit(Int_t AbsId, Int_t isupMod, Double_t iamp, Double_t ix, Double_t iy, Double_t iz); | |
48 | void RegisterCluster(Int_t isupMod, Double_t iamp, Double_t ix, Double_t iy, Double_t iz); | |
49 | void RegisterHit(Int_t AbsId, Int_t isupMod, Double_t iamp, Double_t ix, Double_t iy, Double_t iz); | |
50 | Int_t GetNDigits() const { return fNDigits; }; | |
51 | Int_t GetNClusters() const { return fNClusters; }; | |
52 | Int_t GetNHits() const { return fNHits; }; | |
53 | Int_t GetSmId() const { return fSmId; }; | |
54 | Int_t GetNsm() const {return fNsm;}; | |
55 | Int_t GetNsmf() const {return fNsmfull;}; | |
56 | Int_t GetNsmh() const {return fNsmhalf;}; | |
cc9486d4 | 57 | std::vector< std::vector<Double_t> > GetDigitBuffer() const { return fDigitArray; }; |
58 | std::vector< std::vector<Double_t> > GetClusterBuffer() const { return fClusterArray; }; | |
59 | std::vector< std::vector<Float_t> > GetHitBuffer() const { return fHitArray; }; | |
c3e34498 | 60 | |
a312477b | 61 | void GetSModuleBigBox(Float_t& bbox0, Float_t& bbox1, Float_t& bbox2) |
cc9486d4 | 62 | const { bbox0 = fgSModuleBigBox0; bbox1 = fgSModuleBigBox1; bbox2 = fgSModuleBigBox2;}; |
a312477b | 63 | void GetSModuleSmallBox(Float_t& bbox0, Float_t& bbox1, Float_t& bbox2) |
cc9486d4 | 64 | const { bbox0 = fgSModuleSmallBox0; bbox1 = fgSModuleSmallBox1; bbox2 = fgSModuleSmallBox2;}; |
a312477b | 65 | void GetSModuleCenter(Float_t& bboxCenter0, Float_t& bboxCenter1, Float_t& bboxCenter2) |
cc9486d4 | 66 | const { bboxCenter0 = fgSModuleCenter0; bboxCenter1 = fgSModuleCenter1; bboxCenter2 = fgSModuleCenter2;}; |
67 | Float_t GetPhiTileSize() const {return fPhiTileSize;}; | |
68 | Float_t GetEtaTileSize() const {return fEtaTileSize;}; | |
69 | TGeoMatrix* GetSModuleMatrix() const {return fMatrix;}; | |
c3e34498 | 70 | |
a312477b | 71 | protected: |
72 | AliEMCALGeometry* fGeom; // Data member to set/call EMCAL geometry | |
73 | TGeoNode* fNode; // Node for bbox definition | |
74 | Int_t fSmId; // number of the chamber, 0 to 13 | |
75 | Int_t fNsm; // Total number of super modules | |
76 | Int_t fNsmfull; // Number of full super modules | |
77 | Int_t fNsmhalf; // Number of half super modules | |
78 | Int_t fNDigits; // number of found digits | |
79 | Int_t fNClusters; // number of found rec points | |
80 | Int_t fNHits; // number of simulation hits | |
81 | ||
82 | Float_t fPhiTileSize; // Typical phi size of a QuadSet (digit) | |
83 | Float_t fEtaTileSize; // Typical eta size of a QuadSet (digit) | |
84 | ||
97425cab | 85 | std::vector< std::vector<Float_t> > fHitArray; //|| Hit coordinates, etc. |
86 | std::vector< std::vector<Double_t> > fDigitArray; //|| Digit coordinates, etc. | |
87 | std::vector< std::vector<Double_t> > fClusterArray; //|| Rec point coordinates, etc. | |
a312477b | 88 | |
cc9486d4 | 89 | static Float_t fgSModuleBigBox0; // SM envelope box |
90 | static Float_t fgSModuleBigBox1; // SM envelope box | |
91 | static Float_t fgSModuleBigBox2; // SM envelope box | |
92 | static Float_t fgSModuleSmallBox0; // SM envelope box | |
93 | static Float_t fgSModuleSmallBox1; // SM envelope box | |
94 | static Float_t fgSModuleSmallBox2; // SM envelope box | |
95 | static Float_t fgSModuleCenter0; // SM envelope box | |
96 | static Float_t fgSModuleCenter1; // SM envelope box | |
97 | static Float_t fgSModuleCenter2; // SM envelope box | |
a312477b | 98 | |
99 | TGeoMatrix* fMatrix; // Matrix for local to global transformation | |
100 | TGeoHMatrix* fHMatrix; // Matrix for local to global transformation | |
101 | ||
102 | private: | |
cc9486d4 | 103 | AliEveEMCALSModuleData(const AliEveEMCALSModuleData& esmdata); |
c3e34498 | 104 | AliEveEMCALSModuleData& operator=(const AliEveEMCALSModuleData&); // Not implemented |
a312477b | 105 | |
c3e34498 | 106 | ClassDef(AliEveEMCALSModuleData, 0); // class with data for one chamber |
107 | }; | |
108 | ||
109 | #endif |