]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEvePMDModule.h
Merge changes from branches/dev/EVE. This branch was following development in ROOT...
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEvePMDModule.h
1 // $Id$
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4 /**************************************************************************
5  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
7  * full copyright notice.                                                 *
8  **************************************************************************/
9
10 #ifndef AliEvePMDModule_H
11 #define AliEvePMDModule_H
12
13 #include <TEveQuadSet.h>
14
15 class TH1F;
16 class TTree;
17
18 class AliEvePMDModule : public TEveQuadSet
19 {
20 private:
21   AliEvePMDModule(const AliEvePMDModule&);            // Not implemented
22   AliEvePMDModule& operator=(const AliEvePMDModule&); // Not implemented
23
24   void RectGeomCellPos(Int_t ism, Int_t irow, Int_t icol,
25                        Float_t &xpos, Float_t &ypos);
26   void GenerateBox(Int_t ism, Float_t &xism, Float_t &yism,
27                    Float_t &dxism, Float_t &dyism);
28
29 protected:
30   TH1F*        fH1;         // histogram
31   Float_t      fX, fY, fZ;  // coordinates
32   Int_t        fNPads;      // number of pads
33   Int_t        fAdc;        // ad count
34
35   static const Float_t fgkRad;      // fooconst
36   static const Float_t fgkSqRoot3;  // fooconst
37   static const Float_t fgkZpos;     // position of PMD
38
39   static Int_t fgPreTotPads; // total pre pads
40   static Int_t fgCpvTotPads; // total cpv pads
41   static Int_t fgPreTotAdc;  // total pre signal
42   static Int_t fgCpvTotAdc;  // total cpv signal
43
44 public:
45   AliEvePMDModule();
46   virtual ~AliEvePMDModule();
47
48   static Int_t GetPRETotPads() { return fgPreTotPads; }
49   static Int_t GetCPVTotPads() { return fgCpvTotPads; }
50   static Int_t GetPRETotAdc()  { return fgPreTotAdc;  }
51   static Int_t GetCPVTotAdc()  { return fgCpvTotAdc;  }
52
53   Int_t GetNPads()      const { return fNPads; }
54   Int_t GetAdc()        const { return fAdc;   }
55   TH1F *GetHisto()      const { return fH1;    }
56
57   void DisplayInit(Int_t ism);
58   void DisplayDigitsData(Int_t ism, TTree *pmdt);
59   void DisplayRawData(Int_t ism,   TObjArray *ddlcont);
60   void SetPosition(Float_t x, Float_t y, Float_t z);
61
62   ClassDef(AliEvePMDModule, 1);
63 }; // endclass AliEvePMDModule
64
65 #endif