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