Non-implemented private copy constructor and assignment operator
[u/mrichter/AliRoot.git] / FMD / AliFMDHit.h
CommitLineData
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 */
02a27b50 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.
c2fc1258 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
02a27b50 15 @ingroup FMD_sim
c2fc1258 16*/
42403906 17//___________________________________________________________________
4347b38f 18//
4347b38f 19#ifndef ALIHIT_H
56b1929b 20# include <AliHit.h>
4347b38f 21#endif
d28dcc0d 22
56b1929b 23//___________________________________________________________________
c2fc1258 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.
9f662337 28 @ingroup FMD_sim
29*/
4347b38f 30class AliFMDHit : public AliHit
31{
ab256e65 32public:
9f662337 33 /** Default CTOR */
4347b38f 34 AliFMDHit();
9f662337 35 /** Normal FMD hit ctor
36 @param shunt ???
f8616692 37 @param track Track #
9f662337 38 @param detector Detector # (1, 2, or 3)
f8616692 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 */
4347b38f 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,
088f8e79 67 Float_t t=0,
68 Float_t l=0,
69 Bool_t stop=kFALSE);
9f662337 70 /** DTOR */
4347b38f 71 virtual ~AliFMDHit() {}
bf000c32 72
9f662337 73 /** @return Detector # */
4347b38f 74 UShort_t Detector() const { return fDetector; }
9f662337 75 /** @return Ring ID */
4347b38f 76 Char_t Ring() const { return fRing; }
9f662337 77 /** @return Sector # */
4347b38f 78 UShort_t Sector() const { return fSector; }
9f662337 79 /** @return Strip # */
4347b38f 80 UShort_t Strip() const { return fStrip; }
9f662337 81 /** @return Energy deposited (MeV) */
4347b38f 82 Float_t Edep() const { return fEdep; }
9f662337 83 /** @return Track @f$ p_x@f$ - momentum in @f$ x@f$ (GeV) */
4347b38f 84 Float_t Px() const { return fPx; }
9f662337 85 /** @return Track @f$ p_y@f$ - momentum in @f$ y@f$ (GeV) */
4347b38f 86 Float_t Py() const { return fPy; }
9f662337 87 /** @return Track @f$ p_z@f$ - momentum in @f$ z@f$ (GeV) */
4347b38f 88 Float_t Pz() const { return fPz; }
9f662337 89 /** @return Track @f$ |p|@f$ - momentum (GeV) */
54240c8d 90 Float_t P() const;
9f662337 91 /** @return Track @f$ m@f$ - mass (GeV) */
54240c8d 92 Float_t M() const;
9f662337 93 /** @return Track @f$ q@f$ - charge (1/3) */
54240c8d 94 Float_t Q() const;
9f662337 95 /** @return Track PDG id number */
4347b38f 96 Int_t Pdg() const { return fPdg; }
9f662337 97 /** @return Time of hit in seconds */
4347b38f 98 Float_t Time() const { return fTime; }
9f662337 99 /** @return Path length through silicon */
088f8e79 100 Float_t Length() const { return fLength; }
9f662337 101 /** @return Whether track was stopped in silicon */
088f8e79 102 Bool_t IsStop() const { return fStop; }
bf000c32 103
9f662337 104 /** Print info
105 @param opt Not used */
bf000c32 106 void Print(Option_t* opt="") const;
9f662337 107 /** @return Get Name */
bf000c32 108 const char* GetName() const;
9f662337 109 /** @return Get title */
bf000c32 110 const char* GetTitle() const;
4347b38f 111
9f662337 112 /** Set enenrgy deposited
113 @param edep Energy deposited */
4347b38f 114 void SetEdep(Float_t edep) { fEdep = edep; }
42403906 115protected:
4347b38f 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
088f8e79 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
d28dcc0d 130};
d28dcc0d 131#endif
4347b38f 132//____________________________________________________________________
133//
0d0e6995 134// Local Variables:
135// mode: C++
136// End:
137//
4347b38f 138// EOF
139//