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