2 // Main authors: Matevz Tadel & Alja Mrak-Tadel & Bogdan Vulpescu: 2006, 2007
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
14 class AliMUONGeometryTransformer;
16 class AliEveMUONChamberData : public TObject
18 AliEveMUONChamberData(const AliEveMUONChamberData&); // Not implemented
19 AliEveMUONChamberData& operator=(const AliEveMUONChamberData&); // Not implemented
22 static AliMUONGeometryTransformer* fgTransformer; // geometry transformer
26 Int_t fChamberID; // number of the chamber, 0 to 13
27 Float_t fFrameCoord[26][5]; // detector elements frames
28 Int_t fNDetElem; // number of detector elements
29 Int_t fNDigits; // number of found digits (times 7)
30 Int_t fNClusters; // number of found rec points
31 Int_t fNHits; // number of simulation hits
32 Float_t fDigitBuffer[7*4096]; // digits coordinates, etc.
33 Float_t fClusterBuffer[5*256]; // cluster coordinates, etc.
34 Float_t fHitBuffer[3*256]; // hits coordinates
35 Float_t fChamberBox[6]; // chamber envelope box
39 AliEveMUONChamberData(Int_t chamber);
40 virtual ~AliEveMUONChamberData();
44 void Init(Int_t chamber);
46 void RegisterDigit(Int_t detElemId, Int_t cathode, Int_t ix, Int_t iy, Int_t charge);
47 void RegisterCluster(Int_t detElemId, Int_t cathode, Float_t x, Float_t y, Float_t z, Float_t charge);
48 void RegisterHit(Int_t detElemId, Float_t x, Float_t y, Float_t z);
50 Float_t* GetFrameCoord(Int_t detElemId) { return fFrameCoord[detElemId]; };
52 Int_t GetNDetElem() const { return fNDetElem; };
53 Int_t GetNDigits() const { return fNDigits/7; };
54 Int_t GetNClusters() const { return fNClusters/5; };
55 Int_t GetNHits() const { return fNHits/3; };
57 Float_t* GetDigitBuffer(Int_t pos) { return &fDigitBuffer[7*pos]; };
58 Float_t* GetClusterBuffer(Int_t pos) { return &fClusterBuffer[5*pos]; };
59 Float_t* GetHitBuffer(Int_t pos) { return &fHitBuffer[3*pos]; };
61 Float_t* GetChamberBox() { return &fChamberBox[0]; };
63 ClassDef(AliEveMUONChamberData,1); // class with data for one chamber