]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveEMCALData.h
Coverity
[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 "AliESDEvent.h"
17 #include "AliRun.h"
18 #include "AliEMCAL.h"
19 #include "TEvePointSet.h"
20
21 class Riostream;
22 class map;
23 class TTree;
24 class AliRun;
25 class AliRunLoader;
26 class AliEMCALLoader;
27 class AliEMCALGeometry;
28 class AliEveEMCALSModuleData;
29 class TClonesArray; 
30 class TGedFrame; 
31 class TEveBoxSet; 
32 class TEveUtil; 
33
34 class AliEveEMCALData : public TObject, public TEveRefCnt
35 {
36  public:
37   AliEveEMCALData();
38   AliEveEMCALData(AliRunLoader* rl, TGeoNode* node, TGeoHMatrix* m);
39   ~AliEveEMCALData();
40
41   void SetTree(TTree* const tree);
42   void SetESD(AliESDEvent* const esd);
43   void SetNode(TGeoNode* const node);
44   void InitEMCALGeom(AliRunLoader* const rl);
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
52   void LoadHits(TTree* const t);
53   void LoadDigits(TTree* t);
54   void LoadRecPoints(TTree* const t);
55   void LoadHitsFromEMCALLoader(AliEMCALLoader* const emcl);
56   void LoadDigitsFromEMCALLoader(AliEMCALLoader* const emcl);
57   void LoadRecPointsFromEMCALLoader(AliEMCALLoader* const emcl);
58   void LoadDigitsFromESD();
59   void LoadRecPointsFromESD();
60   void LoadRaw() const;
61
62   AliEveEMCALSModuleData* GetSModuleData(Int_t sm);
63   TEvePointSet*           GetPointSetData() const {return fPoint;};
64
65  protected:
66   AliEMCAL*         fEmcal;     // EMCal data member
67   AliEMCALGeometry* fGeom;      // Data member to set/call EMCAL geometry
68   TGeoNode*         fNode;      // Node for bbox definition
69   TGeoHMatrix*      fHMatrix;   // matrix for local to global transformation
70   TTree*            fTree;      // Tree
71   AliESDEvent*      fESD;       // Esd
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
80   TEvePointSet*     fPoint;     // TEvePointSet for hits 
81
82  private:
83   AliEveEMCALData(const AliEveEMCALData &edata);            
84   AliEveEMCALData& operator=(const AliEveEMCALData &edata); // Not implemented
85
86   ClassDef(AliEveEMCALData, 0); // Base class for TRD hits visualisation
87 };
88
89 #endif