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