]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIMUONHIT_H | |
2 | #define ALIMUONHIT_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 | // Revision of includes 07/05/2004 | |
8 | ||
9 | /// \ingroup base | |
10 | /// \class AliMUONHit | |
11 | /// \brief MonteCarlo hit | |
12 | /// | |
13 | /// MUON classe for MonteCarlo Hits, inherited from AliHit for the | |
14 | /// In addition to the ALiHit data member fX, fY, fZ and fTrack, AliMUONHit contains some info about the particle crossing the chamber: | |
15 | /// Impulsion: fPtot, fPx, fPy and fPz | |
16 | /// Reference position at the center of the chamber (wire plane) fXref, fYref and fZref | |
17 | /// Cumulated path along the active volume fTlength for spliting of hits for very inclined tracks | |
18 | /// Energy loss of the particle inside the gas active volume. | |
19 | /// Incident fTheta and fPhi angle with respect of the wire plane of the chamber. | |
20 | ||
21 | ||
22 | #include "AliHit.h" | |
23 | ||
24 | class AliMUONHit : public AliHit { | |
25 | ||
26 | public: | |
27 | ||
28 | AliMUONHit(); | |
29 | AliMUONHit(Int_t fIshunt, Int_t track, Int_t *vol, Float_t *hits); | |
30 | // TBR | |
31 | AliMUONHit(Int_t fIshunt, Int_t track, Int_t *vol, Float_t *hits, | |
32 | Bool_t isNew); | |
33 | ||
34 | AliMUONHit(Int_t fIshunt, Int_t track, Int_t iChamber, Int_t idpart, | |
35 | Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum, | |
36 | Float_t theta, Float_t phi, Float_t length, Float_t destep); | |
37 | // TBR | |
38 | AliMUONHit(Int_t fIshunt, Int_t track, Int_t detElemId, Int_t idpart, | |
39 | Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum, | |
40 | Float_t theta, Float_t phi, Float_t length, Float_t destep, Bool_t isNew); | |
41 | ||
42 | AliMUONHit(Int_t fIshunt, Int_t track, Int_t iChamber, Int_t idpart, | |
43 | Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum, | |
44 | Float_t theta, Float_t phi, Float_t length, Float_t destep, | |
45 | Float_t Xref, Float_t Yref, Float_t Zref); | |
46 | // TBR | |
47 | AliMUONHit(Int_t fIshunt, Int_t track, Int_t detElemId, Int_t idpart, | |
48 | Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum, | |
49 | Float_t theta, Float_t phi, Float_t length, Float_t destep, | |
50 | Float_t Xref, Float_t Yref, Float_t Zref, Bool_t isNew); | |
51 | virtual ~AliMUONHit() {} | |
52 | ||
53 | Int_t DetElemId()const; | |
54 | Int_t Chamber() const; | |
55 | Float_t Particle() const {return fParticle;} | |
56 | Float_t Theta() const {return fTheta;} | |
57 | Float_t Phi() const {return fPhi;} | |
58 | Float_t Tlength() const {return fTlength;} | |
59 | Float_t Eloss() const {return fEloss;} | |
60 | Float_t Age() const {return fAge;} | |
61 | Int_t PHfirst() const {return fPHfirst;} | |
62 | Int_t PHlast() const {return fPHlast;} | |
63 | ||
64 | Float_t Momentum() const {return fPTot;} | |
65 | Float_t Px() const {return fPx;} | |
66 | Float_t Py() const {return fPy;} | |
67 | Float_t Pz() const {return fPz;} | |
68 | Float_t Cx() const {return fPx/fPTot;} | |
69 | Float_t Cy() const {return fPy/fPTot;} | |
70 | Float_t Cz() const {return fPz/fPTot;} | |
71 | ||
72 | Float_t Xref() const {return fXref;} | |
73 | Float_t Yref() const {return fYref;} | |
74 | Float_t Zref() const {return fZref;} | |
75 | ||
76 | private: | |
77 | Bool_t fIsDetElemId; ///< False if fDetElemId contains Chamber Id (old code) | |
78 | Int_t fDetElemId; ///< Detection element ID | |
79 | Float_t fParticle; ///< Geant3 particle type | |
80 | Float_t fTheta ; ///< Incident theta angle in degrees | |
81 | Float_t fPhi ; ///< Incident phi angle in degrees | |
82 | Float_t fTlength; ///< Track length inside the chamber | |
83 | Float_t fEloss; ///< ionisation energy loss in gas | |
84 | Float_t fAge; ///< Particle Age | |
85 | Int_t fPHfirst; ///< First padhit | |
86 | Int_t fPHlast; ///< Last padhit | |
87 | ||
88 | Float_t fPTot; ///< Local momentum P of the track when entering in the chamber | |
89 | Float_t fPx; ///< Px | |
90 | Float_t fPy; ///< Py | |
91 | Float_t fPz; ///< Pz | |
92 | ||
93 | Float_t fXref; ///< X position of hit in the center of the chamber (without angle effect) | |
94 | Float_t fYref; ///< Y position of hit in the center of the chamber (without angle effect) | |
95 | Float_t fZref; ///< Z position of hit in the center of the chamber (without angle effect) | |
96 | ||
97 | ||
98 | ClassDef(AliMUONHit,1) //Hit object for MUON | |
99 | }; | |
100 | #endif |