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