]>
Commit | Line | Data |
---|---|---|
49a7aa5d | 1 | #ifndef ALIPHOSCPV_H |
2 | #define ALIPHOSCPV_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | //////////////////////////////////////////////// | |
9 | // Manager and hits classes for set:CPV // | |
10 | // // | |
11 | // Author: Yuri Kharlov, IHEP, Protvino // | |
12 | // e-mail: Yuri.Kharlov@cern.ch // | |
13 | // Last modified: 23 March 2000 // | |
14 | //////////////////////////////////////////////// | |
15 | ||
16 | // --- ROOT system --- | |
17 | #include <TClonesArray.h> | |
18 | #include <TLorentzVector.h> | |
19 | ||
20 | // --- galice header files --- | |
21 | #include "AliHit.h" | |
22 | ||
23 | //============================================================================== | |
24 | // CPVModule | |
25 | //============================================================================== | |
26 | ||
27 | class CPVModule : public TObject { | |
28 | ||
29 | public: | |
30 | ||
31 | virtual ~CPVModule(void); | |
32 | CPVModule(void); | |
33 | ||
34 | void Clear(Option_t *opt=""); | |
35 | void Print(Option_t *opt=""); | |
36 | void AddHit(TLorentzVector p, Float_t *xy, Int_t ipart); | |
37 | void MakeBranch(Int_t i); | |
38 | void SetTreeAddress(Int_t i); | |
39 | ||
40 | TClonesArray *Hits (void) {return fHits;} | |
41 | ||
42 | private: | |
43 | ||
44 | TClonesArray *fHits; // List of hits in the Module | |
45 | ||
46 | ClassDef(CPVModule,1) // CPV Module | |
47 | }; | |
48 | ||
49 | //============================================================================== | |
50 | // CPVHit | |
51 | //============================================================================== | |
52 | ||
53 | class CPVHit : public TObject { | |
54 | ||
55 | private: | |
56 | TLorentzVector fMomentum; // 4-momentum of the particle | |
57 | Float_t fXhit; // Hit's X-coordinates | |
58 | Float_t fYhit; // Hit's Y-coordinates | |
59 | Int_t fIpart; // Hit's particle type | |
60 | ||
61 | public: | |
62 | virtual ~CPVHit() {} | |
63 | CPVHit() {} | |
64 | CPVHit(TLorentzVector p, Float_t *xy, Int_t ipart); | |
65 | ||
66 | TLorentzVector GetMomentum() { return fMomentum; } | |
67 | Float_t GetX() { return fXhit; } | |
68 | Float_t GetY() { return fYhit; } | |
69 | Int_t GetIpart() { return fIpart; } | |
70 | void Print(); | |
71 | ||
72 | ClassDef(CPVHit,1) // Hit object in one CPV module | |
73 | }; | |
74 | ||
75 | //============================================================================== | |
76 | // CPVDigit | |
77 | //============================================================================== | |
78 | ||
79 | class CPVDigit : public TObject { | |
80 | ||
81 | private: | |
82 | Int_t fXpad; // Digit's pad number in Phi | |
83 | Int_t fYpad; // Digit's pad number in Z | |
84 | Float_t fQpad; // Digit's pad amplitude | |
85 | ||
86 | public: | |
87 | virtual ~CPVDigit() {} | |
88 | CPVDigit() {} | |
89 | CPVDigit(Int_t x, Int_t y, Float_t q); | |
90 | ||
91 | void SetQpad(Float_t q) { fQpad = q; } | |
92 | Int_t GetXpad() { return fXpad; } | |
93 | Int_t GetYpad() { return fYpad; } | |
94 | Float_t GetQpad() { return fQpad; } | |
95 | ||
96 | ClassDef(CPVDigit,1) // Digit object in one CPV pad | |
97 | }; | |
98 | ||
99 | #endif |