]>
Commit | Line | Data |
---|---|---|
345a46b0 | 1 | // |
c3e34498 | 2 | // Fill containers for visualisation of EMCAL data structures |
c3e34498 | 3 | // |
4 | // Author: Magali Estienne (magali.estienne@cern.ch) | |
5 | // June 30 2008 | |
345a46b0 | 6 | // |
c3e34498 | 7 | |
345a46b0 | 8 | #ifndef ALIEVEEMCALDATA_H |
9 | #define ALIEVEEMCALDATA_H | |
c3e34498 | 10 | |
345a46b0 | 11 | #include <TGeoNode.h> |
c3e34498 | 12 | #include <TGeoMatrix.h> |
345a46b0 | 13 | #include <TEveRGBAPalette.h> |
14 | #include <TEveTrans.h> | |
15 | #include <TEveQuadSet.h> | |
16 | #include "AliESDEvent.h" | |
17 | #include "AliRun.h" | |
18 | #include "AliEMCAL.h" | |
b0f8b42f | 19 | #include "TEvePointSet.h" |
c3e34498 | 20 | |
345a46b0 | 21 | class Riostream; |
22 | class map; | |
23 | class TTree; | |
24 | class AliRun; | |
c3e34498 | 25 | class AliRunLoader; |
c3e34498 | 26 | class AliEMCALLoader; |
27 | class AliEMCALGeometry; | |
c3e34498 | 28 | class AliEveEMCALSModuleData; |
345a46b0 | 29 | class TClonesArray; |
345a46b0 | 30 | class TGedFrame; |
31 | class TEveBoxSet; | |
32 | class TEveUtil; | |
c3e34498 | 33 | |
34 | class AliEveEMCALData : public TObject, public TEveRefCnt | |
35 | { | |
36 | public: | |
37 | AliEveEMCALData(); | |
38 | AliEveEMCALData(AliRunLoader* rl, TGeoNode* node, TGeoHMatrix* m); | |
39 | ~AliEveEMCALData(); | |
40 | ||
345a46b0 | 41 | void SetTree(TTree* const tree); |
42 | void SetESD(AliESDEvent* const esd); | |
43 | void SetNode(TGeoNode* const node); | |
44 | void InitEMCALGeom(AliRunLoader* const rl); | |
c3e34498 | 45 | void GetGeomInfo(Int_t id, Int_t &iSupMod, Double_t& x, Double_t& y, Double_t& z); |
46 | ||
47 | void CreateAllSModules(); | |
48 | void CreateSModule(Int_t sm); | |
49 | void DropAllSModules(); | |
50 | void DeleteSuperModules(); | |
51 | ||
345a46b0 | 52 | void LoadHits(TTree* const t); |
c3e34498 | 53 | void LoadDigits(TTree* t); |
345a46b0 | 54 | void LoadRecPoints(TTree* const t); |
55 | void LoadHitsFromEMCALLoader(AliEMCALLoader* const emcl); | |
56 | void LoadDigitsFromEMCALLoader(AliEMCALLoader* const emcl); | |
57 | void LoadRecPointsFromEMCALLoader(AliEMCALLoader* const emcl); | |
c3e34498 | 58 | void LoadDigitsFromESD(); |
59 | void LoadRecPointsFromESD(); | |
345a46b0 | 60 | void LoadRaw() const; |
c3e34498 | 61 | |
62 | AliEveEMCALSModuleData* GetSModuleData(Int_t sm); | |
345a46b0 | 63 | TEvePointSet* GetPointSetData() const {return fPoint;}; |
c3e34498 | 64 | |
65 | protected: | |
66 | AliEMCAL* fEmcal; // EMCal data member | |
67 | AliEMCALGeometry* fGeom; // Data member to set/call EMCAL geometry | |
a312477b | 68 | TGeoNode* fNode; // Node for bbox definition |
c3e34498 | 69 | TGeoHMatrix* fHMatrix; // matrix for local to global transformation |
a312477b | 70 | TTree* fTree; // Tree |
71 | AliESDEvent* fESD; // Esd | |
c3e34498 | 72 | Int_t fNsm; // Total number of Super Modules |
73 | Int_t fNsmfull; // Number of full size Super Modules | |
74 | Int_t fNsmhalf; // Number of half size Super Modules | |
75 | std::vector<AliEveEMCALSModuleData*> fSM; // vector of fNsm SModules | |
76 | std::vector<AliEveEMCALSModuleData*> fSMfull; // vector of fNsmfull SModules | |
77 | std::vector<AliEveEMCALSModuleData*> fSMhalf; // vector of fNhalf SModules | |
78 | AliRunLoader* fRunLoader; // Run Loader | |
79 | Int_t fDebug; // Debug option | |
a312477b | 80 | TEvePointSet* fPoint; // TEvePointSet for hits |
c3e34498 | 81 | |
82 | private: | |
83 | AliEveEMCALData(const AliEveEMCALData &edata); | |
345a46b0 | 84 | AliEveEMCALData& operator=(const AliEveEMCALData &edata); // Not implemented |
c3e34498 | 85 | |
86 | ClassDef(AliEveEMCALData, 0); // Base class for TRD hits visualisation | |
87 | }; | |
88 | ||
89 | #endif |