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