]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONHit.h
Logging of Debug, Info and Error Messages follwing AliRoot Standard http://aliweb...
[u/mrichter/AliRoot.git] / MUON / AliMUONHit.h
1 #ifndef ALIMUONHIT_H
2 #define ALIMUONHIT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7 // Revision of includes 07/05/2004
8
9 // MUON classe for MonteCarlo Hits, inherited from AliHit for the 
10 // In addition to the ALiHit data member fX, fY, fZ and fTrack, AliMUONHit contains some info about the particle crossing the chamber:
11 // Impulsion: fPtot, fPx, fPy and fPz
12 // Reference position at the center of the chamber (wire plane) fXref, fYref and fZref
13 // Cumulated path along the active volume fTlength for spliting of hits for very inclined tracks 
14 // Energy loss of the particle inside the gas active volume.
15 // Incident fTheta and fPhi angle with respect of the wire plane of the chamber.
16 //
17
18
19 #include "AliHit.h"
20
21 class AliMUONHit : public AliHit {
22
23  public:
24     
25     AliMUONHit();
26     AliMUONHit(Int_t fIshunt, Int_t track, Int_t *vol, Float_t *hits);
27     AliMUONHit(Int_t fIshunt, Int_t track, Int_t iChamber, Int_t idpart, Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum, Float_t theta, Float_t phi, Float_t length, Float_t destep);
28     AliMUONHit(Int_t fIshunt, Int_t track, Int_t iChamber, Int_t idpart, 
29                Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum, 
30                Float_t theta, Float_t phi, Float_t length, Float_t destep,
31                Float_t Xref, Float_t Yref, Float_t Zref);
32     virtual ~AliMUONHit() {}
33     Int_t   Chamber()  const {return fChamber;}
34     Float_t Particle() const {return fParticle;}    
35     Float_t Theta()    const {return fTheta;}
36     Float_t Phi()      const {return fPhi;}
37     Float_t Tlength()  const {return fTlength;}
38     Float_t Eloss()    const {return fEloss;}
39     Float_t Age()      const {return fAge;}
40     Int_t   PHfirst()  const {return fPHfirst;}
41     Int_t   PHlast()   const {return fPHlast;}
42
43     Float_t Momentum() const {return fPTot;}
44     Float_t Px()       const {return fPx;}
45     Float_t Py()       const {return fPy;}
46     Float_t Pz()       const {return fPz;}
47     Float_t Cx()       const {return fPx/fPTot;} 
48     Float_t Cy()       const {return fPy/fPTot;}
49     Float_t Cz()       const {return fPz/fPTot;}
50
51     Float_t Xref()     const {return fXref;}
52     Float_t Yref()     const {return fYref;}
53     Float_t Zref()     const {return fZref;}
54
55  private:
56     Int_t     fChamber;       // Chamber number
57     Float_t   fParticle;      // Geant3 particle type
58     Float_t   fTheta ;        // Incident theta angle in degrees      
59     Float_t   fPhi   ;        // Incident phi angle in degrees
60     Float_t   fTlength;       // Track length inside the chamber
61     Float_t   fEloss;         // ionisation energy loss in gas
62     Float_t   fAge;           // Particle Age
63     Int_t     fPHfirst;       // first padhit
64     Int_t     fPHlast;        // last padhit
65
66     Float_t   fPTot;          // Local momentum P of the track when entering in the chamber
67     Float_t   fPx;            // Px
68     Float_t   fPy;            // Py
69     Float_t   fPz;            // Pz
70     
71     Float_t   fXref;          // X position of hit in the center of the chamber (without angle effect)
72     Float_t   fYref;          // Y position of hit in the center of the chamber (without angle effect)
73     Float_t   fZref;          // Z position of hit in the center of the chamber (without angle effect)
74
75     
76     ClassDef(AliMUONHit,1)    //Hit object for MUON
77 };
78 #endif