]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONHit.h
Geometry builder classes moved from base to sim.
[u/mrichter/AliRoot.git] / MUON / AliMUONHit.h
CommitLineData
a9e2aefa 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$ */
30178c30 7// Revision of includes 07/05/2004
a9e2aefa 8
692de412 9/// \ingroup base
10/// \class AliMUONHit
11/// \brief MonteCarlo hit
12///
13/// MUON classe 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.
34c512f6 20
21
a9e2aefa 22#include "AliHit.h"
23
24class AliMUONHit : public AliHit {
a450cfad 25
a9e2aefa 26 public:
a450cfad 27
30178c30 28 AliMUONHit();
d59b2ec3 29 AliMUONHit(Int_t fIshunt, Int_t track, Int_t *vol, Float_t *hits);
30 // TBR
31 AliMUONHit(Int_t fIshunt, Int_t track, Int_t *vol, Float_t *hits,
32 Bool_t isNew);
33
34 AliMUONHit(Int_t fIshunt, Int_t track, Int_t iChamber, Int_t idpart,
35 Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum,
36 Float_t theta, Float_t phi, Float_t length, Float_t destep);
37 // TBR
38 AliMUONHit(Int_t fIshunt, Int_t track, Int_t detElemId, Int_t idpart,
39 Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum,
40 Float_t theta, Float_t phi, Float_t length, Float_t destep, Bool_t isNew);
41
1391e633 42 AliMUONHit(Int_t fIshunt, Int_t track, Int_t iChamber, Int_t idpart,
43 Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum,
44 Float_t theta, Float_t phi, Float_t length, Float_t destep,
45 Float_t Xref, Float_t Yref, Float_t Zref);
d59b2ec3 46 // TBR
47 AliMUONHit(Int_t fIshunt, Int_t track, Int_t detElemId, Int_t idpart,
48 Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum,
49 Float_t theta, Float_t phi, Float_t length, Float_t destep,
50 Float_t Xref, Float_t Yref, Float_t Zref, Bool_t isNew);
a450cfad 51 virtual ~AliMUONHit() {}
d59b2ec3 52
53 Int_t DetElemId()const;
54 Int_t Chamber() const;
6464217e 55 virtual void Print(Option_t* opt="") const;
56
34c512f6 57 Float_t Particle() const {return fParticle;}
58 Float_t Theta() const {return fTheta;}
59 Float_t Phi() const {return fPhi;}
60 Float_t Tlength() const {return fTlength;}
61 Float_t Eloss() const {return fEloss;}
62 Float_t Age() const {return fAge;}
63 Int_t PHfirst() const {return fPHfirst;}
64 Int_t PHlast() const {return fPHlast;}
65
66 Float_t Momentum() const {return fPTot;}
67 Float_t Px() const {return fPx;}
68 Float_t Py() const {return fPy;}
69 Float_t Pz() const {return fPz;}
70 Float_t Cx() const {return fPx/fPTot;}
71 Float_t Cy() const {return fPy/fPTot;}
72 Float_t Cz() const {return fPz/fPTot;}
1391e633 73
34c512f6 74 Float_t Xref() const {return fXref;}
75 Float_t Yref() const {return fYref;}
76 Float_t Zref() const {return fZref;}
1391e633 77
6464217e 78
d59b2ec3 79 private:
18b6b8c7 80 Bool_t fIsDetElemId; ///< False if fDetElemId contains Chamber Id (old code)
81 Int_t fDetElemId; ///< Detection element ID
82 Float_t fParticle; ///< Geant3 particle type
83 Float_t fTheta ; ///< Incident theta angle in degrees
84 Float_t fPhi ; ///< Incident phi angle in degrees
85 Float_t fTlength; ///< Track length inside the chamber
86 Float_t fEloss; ///< ionisation energy loss in gas
87 Float_t fAge; ///< Particle Age
88 Int_t fPHfirst; ///< First padhit
89 Int_t fPHlast; ///< Last padhit
a9e2aefa 90
18b6b8c7 91 Float_t fPTot; ///< Local momentum P of the track when entering in the chamber
92 Float_t fPx; ///< Px
93 Float_t fPy; ///< Py
94 Float_t fPz; ///< Pz
a9e2aefa 95
18b6b8c7 96 Float_t fXref; ///< X position of hit in the center of the chamber (without angle effect)
97 Float_t fYref; ///< Y position of hit in the center of the chamber (without angle effect)
98 Float_t fZref; ///< Z position of hit in the center of the chamber (without angle effect)
1391e633 99
100
a450cfad 101 ClassDef(AliMUONHit,1) //Hit object for MUON
a9e2aefa 102};
103#endif