]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveEMCALData.h
doxy: code cleanup: comments and clarifications
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveEMCALData.h
1 //
2 // Fill containers for visualisation of EMCAL data structures
3 //
4 // Author: Magali Estienne (magali.estienne@cern.ch)
5 // June 30 2008
6 //
7
8 #ifndef ALIEVEEMCALDATA_H
9 #define ALIEVEEMCALDATA_H
10
11 #include <TGeoNode.h> 
12 #include <TGeoMatrix.h>
13 #include <TEveRGBAPalette.h>
14 #include <TEveTrans.h>
15 #include <TEveQuadSet.h> 
16 #include <TEvePointSet.h>
17
18 #include "AliESDEvent.h"
19 #include "AliRun.h"
20
21 class Riostream;
22 class map;
23 class TTree;
24 class AliRun;
25 class AliRunLoader;
26 class AliEMCAL;
27 class AliEMCALLoader;
28 class AliEMCALGeometry;
29 class AliEveEMCALSModuleData;
30 class TClonesArray; 
31 class TGedFrame; 
32 class TEveBoxSet; 
33 class TEveUtil; 
34
35 class AliEveEMCALData : public TObject, public TEveRefCnt
36 {
37  public:
38   AliEveEMCALData();
39   AliEveEMCALData(AliRunLoader* rl, TGeoNode* node, TGeoHMatrix* m);
40   ~AliEveEMCALData();
41
42   void SetTree(TTree* const tree);
43   void SetESD(AliESDEvent* const esd);
44   void SetNode(TGeoNode* const node);
45   void InitEMCALGeom(AliRunLoader* const rl);
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
53   void LoadHits(TTree* const t);
54   void LoadDigits(TTree* t);
55   void LoadRecPoints(TTree* const t);
56   void LoadHitsFromEMCALLoader(AliEMCALLoader* const emcl);
57   void LoadDigitsFromEMCALLoader(AliEMCALLoader* const emcl);
58   void LoadRecPointsFromEMCALLoader(AliEMCALLoader* const emcl);
59   void LoadDigitsFromESD();
60   void LoadRecPointsFromESD();
61   void LoadRaw() const;
62
63   AliEveEMCALSModuleData* GetSModuleData(Int_t sm);
64   TEvePointSet*           GetPointSetData() const {return fPoint;};
65
66  protected:
67   AliEMCAL*         fEmcal;     // EMCal data member
68   AliEMCALGeometry* fGeom;      // Data member to set/call EMCAL geometry
69   TGeoNode*         fNode;      // Node for bbox definition
70   TGeoHMatrix*      fHMatrix;   // matrix for local to global transformation
71   TTree*            fTree;      // Tree
72   AliESDEvent*      fESD;       // Esd
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
81   TEvePointSet*     fPoint;     // TEvePointSet for hits 
82
83  private:
84   AliEveEMCALData(const AliEveEMCALData &edata);            
85   AliEveEMCALData& operator=(const AliEveEMCALData &edata); // Not implemented
86
87   ClassDef(AliEveEMCALData, 0); // Base class for TRD hits visualisation
88 };
89
90 #endif