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