820b4d9e |
1 | #ifndef AliMFTHit_H |
2 | #define AliMFTHit_H |
3 | |
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
5 | * See cxx source for full Copyright notice */ |
6 | |
7 | //==================================================================================================================================================== |
8 | // |
9 | // Hit description for the ALICE Muon Forward Tracker |
10 | // |
11 | // Contact author: antonio.uras@cern.ch |
12 | // |
13 | //==================================================================================================================================================== |
14 | |
15 | #include "TLorentzVector.h" |
16 | #include "TParticle.h" |
17 | #include "AliHit.h" |
18 | #include "AliRun.h" |
19 | #include "AliMC.h" |
20 | |
21 | //==================================================================================================================================================== |
22 | |
23 | class TParticle; |
24 | |
25 | class AliMFTHit : public AliHit { |
26 | |
27 | public: |
28 | |
29 | AliMFTHit(); |
30 | // AliMFTHit(const AliMFTHit &h); |
31 | // AliMFTHit& operator=(const AliMFTHit &h); |
32 | |
33 | virtual ~AliMFTHit() {} |
34 | |
35 | virtual void SetPlane(Int_t plane) { fPlane = plane; } |
36 | virtual void SetDetElemID(Int_t detElemID) { fDetElemID = detElemID; } |
37 | virtual void SetPosition(TLorentzVector &x) { fX =x.X(); fY =x.Y(); fZ =x.Z(); } |
38 | virtual void SetTOF(Double_t time) { fTOF = time; } |
39 | virtual void SetStatus(Int_t status) { fStatus = status; } |
40 | virtual void SetEloss(Double_t energy) { fEloss = energy; } |
41 | virtual void SetMomentum(TLorentzVector &p) { fPx=p.Px(); fPy=p.Py(); fPz=p.Pz(); } |
42 | |
43 | virtual Int_t GetTrackStatus() const { return fStatus; } |
44 | virtual Int_t GetPlane() const { return fPlane; } |
45 | virtual Int_t GetDetElemID() const { return fDetElemID; } |
46 | virtual Double_t GetEloss() const { return fEloss; } |
47 | virtual Double_t GetTOF() const { return fTOF; } |
48 | |
49 | virtual void GetPosition(Double_t &x,Double_t &y,Double_t &z) const { x=fX; y=fY; z=fZ; } |
50 | virtual Double_t GetX() const { return fX; } |
51 | virtual Double_t GetY() const { return fY; } |
52 | virtual Double_t GetZ() const { return fZ; } |
53 | |
54 | virtual void GetMomentum(Double_t &px,Double_t &py,Double_t &pz) const { px=fPx; py=fPy; pz=fPz; } |
55 | virtual Double_t GetPx() const { return fPx; } |
56 | virtual Double_t GetPy() const { return fPy; } |
57 | virtual Double_t GetPz() const { return fPz; } |
58 | |
59 | TParticle* GetParticle() const; |
60 | |
bc08e9c0 |
61 | Bool_t IsInside() const { return (fStatus & 0x1); } |
62 | Bool_t IsEntering() const { return (fStatus & 0x1<<1); } |
63 | Bool_t IsExiting() const { return (fStatus & 0x1<<2); } |
64 | Bool_t IsOut() const { return (fStatus & 0x1<<3); } |
65 | Bool_t IsDisappeared() const { return (fStatus & 0x1<<4); } |
66 | Bool_t IsStopped() const { return (fStatus & 0x1<<5); } |
67 | Bool_t IsAlive() const { return (fStatus & 0x1<<6); } |
820b4d9e |
68 | |
69 | protected: |
70 | |
71 | Int_t fStatus; /* The track status flag. This flag indicates the track status |
72 | at the time of creating this hit. |
73 | It is made up of the following 8 status bits from highest order to lowest order bits 0 : |
74 | IsTrackAlive(): IsTrackStop(): IsTrackDisappeared(): IsTrackOut(): IsTrackExiting(): IsTrackEntering(): IsTrackInside() . |
75 | See AliMC for a description of these functions. |
76 | If the function is true then the bit is set to one, otherwise it is zero. */ |
77 | |
78 | Int_t fPlane; // Plane number |
79 | Int_t fDetElemID; // Detection Element unique ID |
80 | Double_t fPx; // PX of particle at the point of the hit |
81 | Double_t fPy; // PY of particle at the point of the hit |
82 | Double_t fPz; // PZ of particle at the point of the hit |
83 | Double_t fEloss; // Energy deposited in the current step |
84 | Double_t fTOF; // Time of flight at the point of the hit |
85 | |
86 | ClassDef(AliMFTHit,3) |
87 | |
88 | }; |
89 | |
90 | //==================================================================================================================================================== |
91 | |
92 | #endif |