]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Alieve/AliEveMUONChamberData.h
Remove trailing whitespace.
[u/mrichter/AliRoot.git] / EVE / Alieve / AliEveMUONChamberData.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 #ifndef ALIEVE_MUONChamberData_H
10 #define ALIEVE_MUONChamberData_H
11
12 #include <TEveUtil.h>
13
14 #include <TObject.h>
15
16 class AliMUONGeometryTransformer;
17
18
19 class AliEveMUONChamberData : public TObject
20 {
21
22   AliEveMUONChamberData(const AliEveMUONChamberData&);            // Not implemented
23   AliEveMUONChamberData& operator=(const AliEveMUONChamberData&); // Not implemented
24
25 private:
26
27   static AliMUONGeometryTransformer* fgTransformer;   // geometry transformer
28
29 protected:
30
31   Int_t   fChamberID;                 // number of the chamber, 0 to 13
32   Float_t fFrameCoord[26][5];         // detector elements frames
33   Int_t   fNDetElem;                  // number of detector elements
34   Int_t   fNDigits;                   // number of found digits (times 7)
35   Int_t   fNClusters;                 // number of found rec points
36   Int_t   fNHits;                     // number of simulation hits
37   Float_t fDigitBuffer[7*4096];       // digits coordinates, etc.
38   Float_t fClusterBuffer[5*256];      // cluster coordinates, etc.
39   Float_t fHitBuffer[3*256];          // hits coordinates
40   Float_t fChamberBox[6];             // chamber envelope box
41
42 public:
43
44   AliEveMUONChamberData(Int_t chamber);
45   virtual ~AliEveMUONChamberData();
46
47   void DropData();
48
49   void     Init(Int_t chamber);
50
51   void     RegisterDigit(Int_t detElemId, Int_t cathode, Int_t ix, Int_t iy, Int_t charge);
52   void     RegisterCluster(Int_t detElemId, Int_t cathode, Float_t x, Float_t y, Float_t z, Float_t charge);
53   void     RegisterHit(Int_t detElemId, Float_t x, Float_t y, Float_t z);
54
55   Float_t* GetFrameCoord(Int_t detElemId) { return fFrameCoord[detElemId]; };
56
57   Int_t    GetNDetElem()  { return fNDetElem;    };
58   Int_t    GetNDigits()   { return fNDigits/7;   };
59   Int_t    GetNClusters() { return fNClusters/5; };
60   Int_t    GetNHits()     { return fNHits/3;     };
61
62   Float_t* GetDigitBuffer(Int_t pos)   { return &fDigitBuffer[7*pos];   };
63   Float_t* GetClusterBuffer(Int_t pos) { return &fClusterBuffer[5*pos]; };
64   Float_t* GetHitBuffer(Int_t pos)     { return &fHitBuffer[3*pos];     };
65
66   Float_t* GetChamberBox() { return &fChamberBox[0]; };
67
68   ClassDef(AliEveMUONChamberData,1);     // class with data for one chamber
69
70 };
71
72 #endif