]>
Commit | Line | Data |
---|---|---|
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 |