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