]>
Commit | Line | Data |
---|---|---|
1 | // | |
2 | // Visualization of an EMCAL super module. | |
3 | // | |
4 | // Author: Magali Estienne (magali.estienne@cern.ch) | |
5 | // June 30 2008 | |
6 | // | |
7 | ||
8 | #ifndef ALIEVEEMCALSMODULE_H | |
9 | #define ALIEVEEMCALSMODULE_H | |
10 | ||
11 | #include "AliEveEMCALSModuleData.h" | |
12 | ||
13 | class AliEveEMCALData; | |
14 | class TEveQuadSet; | |
15 | class TEveBoxSet; | |
16 | class TEveFrameBox; | |
17 | class TEvePointSet; | |
18 | class TClonesArray; | |
19 | class TTree; | |
20 | class TGedFrame; | |
21 | class TGeoNode; | |
22 | class TGeoMatrix; | |
23 | class AliRun; | |
24 | class AliEMCALGeometry; | |
25 | class AliESDEvent; | |
26 | class AliEMCAL; | |
27 | ||
28 | class TEveTrans; | |
29 | class TStyle; | |
30 | class TBuffer3DTypes; | |
31 | class TBuffer3D; | |
32 | class TVirtualPad; | |
33 | class TVirtualViewer3D; | |
34 | class AliEveEMCALData; | |
35 | class AliEMCALHit; | |
36 | class AliEMCALDigit; | |
37 | ||
38 | class AliEveEMCALSModule : public TEveElement, | |
39 | public TNamed, | |
40 | public TAtt3D | |
41 | { | |
42 | ||
43 | public: | |
44 | AliEveEMCALSModule(Int_t smodid, const Text_t* n, const Text_t* t); | |
45 | ~AliEveEMCALSModule(); | |
46 | ||
47 | void DropData() const; | |
48 | ||
49 | virtual Bool_t CanEditMainColor() const { return kTRUE; } | |
50 | ||
51 | void SetDataSource(AliEveEMCALData * const data); | |
52 | void SetSModuleID(Int_t id); | |
53 | void SetFrameColor(Color_t col) { fFrameColor = col; }; | |
54 | const AliEveEMCALData* GetData() const { return fEMCALData; }; | |
55 | AliEveEMCALSModuleData* GetSModuleData() const; | |
56 | Int_t GetID() const { return fSModuleID; }; | |
57 | void SetClusterSize(Int_t size); | |
58 | void SetHitSize(Int_t size); | |
59 | ||
60 | void UpdateQuads(); | |
61 | ||
62 | protected: | |
63 | AliEveEMCALData *fEMCALData; // Data for the current event | |
64 | AliEveEMCALSModuleData *fEMCALSModuleData; // Data of Super Module (SM) | |
65 | Color_t fFrameColor; // Main coloring | |
66 | Int_t fSModuleID; // Id of super module, 0 to 11 | |
67 | TEveQuadSet *fQuadSet; // Digit container | |
68 | TEveQuadSet *fQuadSet2; // Cluster container | |
69 | TEvePointSet *fPointSet; // Hit container | |
70 | Int_t fClusterSize; // Cluster point size | |
71 | Int_t fHitSize; // Hit point size | |
72 | Int_t fDebug; // Debug option | |
73 | ||
74 | static void InitStatics(AliEveEMCALSModuleData* md); | |
75 | ||
76 | static Bool_t fgStaticInit; // Flag for static variable initialization. | |
77 | static Float_t fgSMBigBBox[3]; // Bounding Box of full SM | |
78 | static Float_t fgSMSmallBBox[3]; // Bounding Box of half SM | |
79 | static TEveFrameBox *fgFrameBigBox; // Frame box per full SM | |
80 | static TEveFrameBox *fgFrameSmallBox; // Frame box per half SM | |
81 | static TEveRGBAPalette *fgFrameDigPalette; // Signal to color mapping for EMCAL digits | |
82 | static TEveRGBAPalette *fgFrameCluPalette; // Signal to color mapping for EMCAL clusters | |
83 | ||
84 | void SetupColor(Int_t val, UChar_t* pix) const; | |
85 | ||
86 | private: | |
87 | AliEveEMCALSModule(const AliEveEMCALSModule &esm); | |
88 | AliEveEMCALSModule& operator=(const AliEveEMCALSModule&); // Not implemented | |
89 | ||
90 | ClassDef(AliEveEMCALSModule, 0); // Base class for TRD hits visualisation | |
91 | }; | |
92 | ||
93 | #endif |