Line data Source code
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 : /// \ingroup sim
10 : /// \class AliMUONHit
11 : /// \brief MonteCarlo hit
12 : ///
13 : /// MUON class for MonteCarlo Hits, inherited from AliHit for the
14 : /// In addition to the ALiHit data member fX, fY, fZ and fTrack, AliMUONHit contains some info about the particle crossing the chamber:
15 : /// Impulsion: fPtot, fPx, fPy and fPz
16 : /// Reference position at the center of the chamber (wire plane) fXref, fYref and fZref
17 : /// Cumulated path along the active volume fTlength for spliting of hits for very inclined tracks
18 : /// Energy loss of the particle inside the gas active volume.
19 : /// Incident fTheta and fPhi angle with respect of the wire plane of the chamber.
20 :
21 :
22 : #include "AliHit.h"
23 :
24 460 : class AliMUONHit : public AliHit {
25 :
26 : public:
27 :
28 : AliMUONHit();
29 : AliMUONHit(Int_t fIshunt, Int_t track, Int_t *vol, Float_t *hits);
30 :
31 : AliMUONHit(Int_t fIshunt, Int_t track, Int_t detElemId, Int_t idpart,
32 : Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum,
33 : Float_t theta, Float_t phi, Float_t length, Float_t destep);
34 :
35 : AliMUONHit(Int_t fIshunt, Int_t track, Int_t detElemId, Int_t idpart,
36 : Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum,
37 : Float_t theta, Float_t phi, Float_t length, Float_t destep,
38 : Float_t Xref, Float_t Yref, Float_t Zref);
39 : virtual ~AliMUONHit();
40 :
41 : virtual const char* GetName() const;
42 :
43 230 : Int_t DetElemId()const {return fDetElemId;} ///< Return detection element ID
44 : Int_t Chamber() const;
45 :
46 : virtual void Print(Option_t* opt="") const;
47 :
48 0 : Float_t Particle() const {return fParticle;} ///< Return particle id
49 0 : Float_t Theta() const {return fTheta;} ///< Return incident theta angle in degrees
50 0 : Float_t Phi() const {return fPhi;} ///< Return incident phi angle in degrees
51 0 : Float_t Tlength() const {return fTlength;} ///< Return track length inside the chamber
52 166 : Float_t Eloss() const {return fEloss;} ///< Return Ionisation energy loss in gas
53 294 : Float_t Age() const {return fAge;} ///< Return Particle Age
54 0 : Int_t PHfirst() const {return fPHfirst;} ///< Return First padhit
55 0 : Int_t PHlast() const {return fPHlast;} ///< Return Last padhit
56 :
57 0 : Float_t Momentum() const {return fPTot;} ///< Return local momentum P of the entering track
58 0 : Float_t Px() const {return fPx;} ///< Return Px
59 0 : Float_t Py() const {return fPy;} ///< Return Py
60 0 : Float_t Pz() const {return fPz;} ///< Return Pz
61 0 : Float_t Cx() const {return fPx/fPTot;} ///< Return Px/PTot
62 0 : Float_t Cy() const {return fPy/fPTot;} ///< Return Py/PTot
63 0 : Float_t Cz() const {return fPz/fPTot;} ///< Return Pz/PTot
64 :
65 0 : Float_t Xref() const {return fXref;} ///< Return X position of hit in the center of the chamber (without angle effect)
66 0 : Float_t Yref() const {return fYref;} ///< Return Y position of hit in the center of the chamber (without angle effect)
67 0 : Float_t Zref() const {return fZref;} ///< Return Z position of hit in the center of the chamber (without angle effect)
68 :
69 : private:
70 : Int_t fDetElemId; ///< Detection element ID
71 : Float_t fParticle; ///< Geant3 particle type
72 : Float_t fTheta ; ///< Incident theta angle in degrees
73 : Float_t fPhi ; ///< Incident phi angle in degrees
74 : Float_t fTlength; ///< Track length inside the chamber
75 : Float_t fEloss; ///< Ionisation energy loss in gas
76 : Float_t fAge; ///< Particle Age
77 : Int_t fPHfirst; ///< First padhit
78 : Int_t fPHlast; ///< Last padhit
79 :
80 : Float_t fPTot; ///< Local momentum P of the track when entering in the chamber
81 : Float_t fPx; ///< Px
82 : Float_t fPy; ///< Py
83 : Float_t fPz; ///< Pz
84 :
85 : Float_t fXref; ///< X position of hit in the center of the chamber (without angle effect)
86 : Float_t fYref; ///< Y position of hit in the center of the chamber (without angle effect)
87 : Float_t fZref; ///< Z position of hit in the center of the chamber (without angle effect)
88 :
89 :
90 18 : ClassDef(AliMUONHit,2) //Hit object for MUON
91 : };
92 : #endif
|