]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - EVE/EveDet/AliEveEMCALSModule.h
fix for Savannah bug #81846
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveEMCALSModule.h
... / ...
CommitLineData
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
13class AliEveEMCALData;
14class TEveQuadSet;
15class TEveBoxSet;
16class TEveFrameBox;
17class TEvePointSet;
18class TClonesArray;
19class TTree;
20class TGedFrame;
21class TGeoNode;
22class TGeoMatrix;
23class AliRun;
24class AliEMCALGeometry;
25class AliESDEvent;
26class AliEMCAL;
27
28class TEveTrans;
29class TStyle;
30class TBuffer3DTypes;
31class TBuffer3D;
32class TVirtualPad;
33class TVirtualViewer3D;
34class AliEveEMCALData;
35class AliEMCALHit;
36class AliEMCALDigit;
37
38class 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