]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/AliFMDHit.h
8cb59a64f47c89473a9afa84e41d903e233e20ee
[u/mrichter/AliRoot.git] / FMD / AliFMDHit.h
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 //  Manager and hits classes for set:FMD     
11 //
12 ////////////////////////////////////////////////
13 #ifndef ALIHIT_H
14 # include "AliHit.h"
15 #endif
16  
17
18 ///////////////////////////////////////////////////////////////////////
19 // AliFMDhit is the hit class for the FMD. Hits are the information
20 // that comes from a Monte Carlo at each step as a particle mass through
21 // sensitive detector elements as particles are transported through a
22 // detector.
23 //
24 // Data members:
25 //
26 // Int_t fTrack
27 //     See AliHit for a full description. The track number of the track
28 // that made this hit.
29 //
30 // Float_t fX
31 //     See AliHit for a full description. The global x position of the
32 // hit (in the standard units of the Monte Carlo).
33 //
34 // Float_t fY
35 //     See AliHit for a full description. The global y position of the
36 // hit (in the standard units of the Monte Carlo).
37 //
38 // Float_t fZ
39 //     See AliHit for a full description. The global z position of the
40 // hit (in the standard units of the Monte Carlo).
41 //
42 // Int_t fStatus
43 //     The track status flag. This flag indicates the track status
44 // at the time of creating this hit. It is made up of the following 8
45 // status bits from highest order to lowest order bits
46 // 0           :  IsTrackAlive():    IsTrackStop():IsTrackDisappeared():
47 // IsTrackOut():IsTrackExiting():IsTrackEntering():IsTrackInside()     .
48 // See AliMC for a description of these functions. If the function is
49 // true then the bit is set to one, otherwise it is zero.
50
51 // Int_t fVolume
52 //     The number of the FMD detector that contains this hit. 
53
54 // Float_t fEdep
55 //     The energy lost by the particle during the step ending in this
56 // hit. The units are those determined by the Monte Carlo.
57 //
58 // Float_t fPx
59 //     The x momentum, in global coordinates, of the particle that
60 // "created" the hit at the time and position of the hit. The units
61 // are those determined by the Monte Carlo.
62 //
63 // Float_t fPy
64 //     The y momentum, in global coordinates, of the particle that
65 // "created" the hit at the time and position of the hit. The units
66 // are those determined by the Monte Carlo.
67 //
68 // Float_t fPz
69 //     The z momentum, in global coordinates, of the particle that
70 // "created" the hit at the time and position of the hit. The units
71 // are those determined by the Monte Carlo.
72 //
73 ///
74 // Float_t fTime
75 //     The time of flight associated with the particle ending in this
76 // hit. The time is typically measured from the point of creation of the
77 // original particle (if this particle is a daughter).  The units
78 // are those determined by the Monte Carlo. 
79
80 class AliFMDHit : public AliHit 
81 {
82 public:
83   AliFMDHit();
84   AliFMDHit(Int_t    shunt, 
85             Int_t    track, 
86             UShort_t detector, 
87             Char_t   ring, 
88             UShort_t sector, 
89             UShort_t strip, 
90             Float_t  x=0, 
91             Float_t  y=0, 
92             Float_t  z=0,
93             Float_t  px=0, 
94             Float_t  py=0, 
95             Float_t  pz=0,
96             Float_t  edep=0,
97             Int_t    pdg=0,
98             Float_t  t=0);
99   virtual ~AliFMDHit() {}
100
101   UShort_t Detector()   const { return fDetector; }
102   Char_t   Ring()       const { return fRing;     }
103   UShort_t Sector()     const { return fSector;   }
104   UShort_t Strip()      const { return fStrip;    }
105   Float_t  Edep()       const { return fEdep;     }
106   Float_t  Px()         const { return fPx;       }
107   Float_t  Py()         const { return fPy;       }
108   Float_t  Pz()         const { return fPz;       } 
109   Int_t    Pdg()        const { return fPdg;      }
110   Float_t  Time()       const { return fTime;     }
111   void     Print(Option_t* opt="") const;
112
113   void     SetEdep(Float_t edep) { fEdep = edep; }
114 private:
115   UShort_t fDetector;  // (Sub) Detector # (1,2, or 3)
116   Char_t   fRing;      // Ring ID ('I' or 'O')
117   UShort_t fSector;    // Sector # (phi division)
118   UShort_t fStrip;     // Strip # (radial division)
119   Float_t  fPx;        // Particle's X momentum X
120   Float_t  fPy;        // Particle's Y momentum Y
121   Float_t  fPz;        // Particle's Z momentum Z
122   Int_t    fPdg;       // Particles PDG code 
123   Float_t  fEdep;      // Energy deposition
124   Float_t  fTime;      // Particle's time of flight
125
126   ClassDef(AliFMDHit,1)  //Hits for detector FMD
127 };
128 #endif
129 //____________________________________________________________________
130 //
131 // Local Variables:
132 //   mode: C++
133 // End:
134 //
135 // EOF
136 //