Added ITSUModule (Stefan R.)
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveITSUModule.h
1
2 /**************************************************************************
3  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
4  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
5  * full copyright notice.                                                 *
6  **************************************************************************/
7
8 #ifndef ALI_EVE_ITS_U_MODULE_H
9 #define ALI_EVE_ITS_U_MODULE_H
10
11 #include <TEveQuadSet.h>
12 class AliITSUGeomTGeo;
13 class AliITSUDigitPix;
14
15 class AliEveITSUModule : public TEveQuadSet
16 {
17 public:
18
19   AliEveITSUModule(const Text_t* n="AliEveITSUModule", const Text_t* t=0);
20   AliEveITSUModule(AliITSUGeomTGeo *gm,Int_t id, Int_t layer, Int_t ladder, Int_t detector);
21   virtual ~AliEveITSUModule();
22
23   static void InitStatics();
24
25   void SetDigitInQuad(AliITSUDigitPix *pDig);
26   void SetTrans();
27   void DigitSelected(Int_t idx);
28
29   virtual void Print(Option_t* opt="") const;
30
31   //  virtual void LoadQuads() {};
32   //  virtual void DigitSelected(Int_t idx) {};
33
34   Int_t GetID() const { return fID; }
35   void  SetID(Int_t gid, Bool_t trans=kTRUE);
36
37 protected:
38
39   static TEveFrameBox    *fgITSUFrameBox;     // Module frame for ITS Upgrade.
40   static TEveFrameBox    *fgITSUFrameBoxDead; // Dead-module frame for ITS Upgrade.
41   static TEveRGBAPalette *fgITSUPalette;  // Signal to color mapping for ITS Upgrade.
42
43   Int_t       fID;      // Module id.
44   const Int_t fkLayer;  // which layer
45   Int_t fkLadder;       // which ladder
46   Int_t fkDetector;     // which detector (module within ladder)
47
48   Float_t fDpx;     // Digit size in x.
49   Float_t fDpz;     // Digit size in z.
50
51   Bool_t fAtLeastOneDigit;   // is there already a digit put into the geometry?
52
53   static Bool_t fgStaticInitDone; // Flag for static variable initialization.
54
55 private:
56   AliEveITSUModule(const AliEveITSUModule&);            // Not implemented
57   AliEveITSUModule& operator=(const AliEveITSUModule&); // Not implemented
58
59   ClassDef(AliEveITSUModule, 0); // Visualization of an ITS Upgrade module.
60 };
61
62 #endif