]>
Commit | Line | Data |
---|---|---|
1 | #ifndef AliFMDhit_H | |
2 | #define AliFMDhit_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights | |
4 | * reserved. | |
5 | * | |
6 | * See cxx source for full Copyright notice | |
7 | */ | |
8 | //___________________________________________________________________ | |
9 | // | |
10 | #ifndef ALIHIT_H | |
11 | # include <AliHit.h> | |
12 | #endif | |
13 | ||
14 | //___________________________________________________________________ | |
15 | /** AliFMDhit is the hit class for the FMD. Hits are the information | |
16 | that comes from a Monte Carlo at each step as a particle mass | |
17 | through sensitive detector elements as particles are transported | |
18 | through a detector. | |
19 | @ingroup FMD_sim | |
20 | */ | |
21 | class AliFMDHit : public AliHit | |
22 | { | |
23 | public: | |
24 | /** Default CTOR */ | |
25 | AliFMDHit(); | |
26 | /** Normal FMD hit ctor | |
27 | @param shunt ??? | |
28 | @param track Track # | |
29 | @param detector Detector # (1, 2, or 3) | |
30 | @param ring Ring ID ('I' or 'O') | |
31 | @param sector Sector # (For inner/outer rings: 0-19/0-39) | |
32 | @param strip Strip # (For inner/outer rings: 0-511/0-255) | |
33 | @param x Track's X-coordinate at hit | |
34 | @param y Track's Y-coordinate at hit | |
35 | @param z Track's Z-coordinate at hit | |
36 | @param px X-component of track's momentum | |
37 | @param py Y-component of track's momentum | |
38 | @param pz Z-component of track's momentum | |
39 | @param edep Energy deposited by track | |
40 | @param pdg Track's particle Id # | |
41 | @param t Time when the track hit | |
42 | @param l Track lenght through medium | |
43 | @param stop Whether track is stopped in medium */ | |
44 | AliFMDHit(Int_t shunt, | |
45 | Int_t track, | |
46 | UShort_t detector, | |
47 | Char_t ring, | |
48 | UShort_t sector, | |
49 | UShort_t strip, | |
50 | Float_t x=0, | |
51 | Float_t y=0, | |
52 | Float_t z=0, | |
53 | Float_t px=0, | |
54 | Float_t py=0, | |
55 | Float_t pz=0, | |
56 | Float_t edep=0, | |
57 | Int_t pdg=0, | |
58 | Float_t t=0, | |
59 | Float_t l=0, | |
60 | Bool_t stop=kFALSE); | |
61 | /** DTOR */ | |
62 | virtual ~AliFMDHit() {} | |
63 | ||
64 | /** @return Detector # */ | |
65 | UShort_t Detector() const { return fDetector; } | |
66 | /** @return Ring ID */ | |
67 | Char_t Ring() const { return fRing; } | |
68 | /** @return Sector # */ | |
69 | UShort_t Sector() const { return fSector; } | |
70 | /** @return Strip # */ | |
71 | UShort_t Strip() const { return fStrip; } | |
72 | /** @return Energy deposited (MeV) */ | |
73 | Float_t Edep() const { return fEdep; } | |
74 | /** @return Track @f$ p_x@f$ - momentum in @f$ x@f$ (GeV) */ | |
75 | Float_t Px() const { return fPx; } | |
76 | /** @return Track @f$ p_y@f$ - momentum in @f$ y@f$ (GeV) */ | |
77 | Float_t Py() const { return fPy; } | |
78 | /** @return Track @f$ p_z@f$ - momentum in @f$ z@f$ (GeV) */ | |
79 | Float_t Pz() const { return fPz; } | |
80 | /** @return Track @f$ |p|@f$ - momentum (GeV) */ | |
81 | Float_t P() const; | |
82 | /** @return Track @f$ m@f$ - mass (GeV) */ | |
83 | Float_t M() const; | |
84 | /** @return Track @f$ q@f$ - charge (1/3) */ | |
85 | Float_t Q() const; | |
86 | /** @return Track PDG id number */ | |
87 | Int_t Pdg() const { return fPdg; } | |
88 | /** @return Time of hit in seconds */ | |
89 | Float_t Time() const { return fTime; } | |
90 | /** @return Path length through silicon */ | |
91 | Float_t Length() const { return fLength; } | |
92 | /** @return Whether track was stopped in silicon */ | |
93 | Bool_t IsStop() const { return fStop; } | |
94 | ||
95 | /** Print info | |
96 | @param opt Not used */ | |
97 | void Print(Option_t* opt="") const; | |
98 | /** @return Get Name */ | |
99 | const char* GetName() const; | |
100 | /** @return Get title */ | |
101 | const char* GetTitle() const; | |
102 | ||
103 | /** Set enenrgy deposited | |
104 | @param edep Energy deposited */ | |
105 | void SetEdep(Float_t edep) { fEdep = edep; } | |
106 | protected: | |
107 | UShort_t fDetector; // (Sub) Detector # (1,2, or 3) | |
108 | Char_t fRing; // Ring ID ('I' or 'O') | |
109 | UShort_t fSector; // Sector # (phi division) | |
110 | UShort_t fStrip; // Strip # (radial division) | |
111 | Float_t fPx; // Particle's X momentum X | |
112 | Float_t fPy; // Particle's Y momentum Y | |
113 | Float_t fPz; // Particle's Z momentum Z | |
114 | Int_t fPdg; // Particles PDG code | |
115 | Float_t fEdep; // Energy deposition | |
116 | Float_t fTime; // Particle's time of flight | |
117 | Float_t fLength; // Track length through material. | |
118 | Bool_t fStop; // Whether track was stopped. | |
119 | ||
120 | ClassDef(AliFMDHit,2) //Hits for detector FMD | |
121 | }; | |
122 | #endif | |
123 | //____________________________________________________________________ | |
124 | // | |
125 | // Local Variables: | |
126 | // mode: C++ | |
127 | // End: | |
128 | // | |
129 | // EOF | |
130 | // |