Line data Source code
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 0 : class AliMFTHit : public AliHit {
26 :
27 : public:
28 :
29 : AliMFTHit();
30 : // AliMFTHit(const AliMFTHit &h);
31 : // AliMFTHit& operator=(const AliMFTHit &h);
32 :
33 0 : virtual ~AliMFTHit() {}
34 :
35 0 : virtual void SetPlane(Int_t plane) { fPlane = plane; }
36 0 : virtual void SetDetElemID(Int_t detElemID) { fDetElemID = detElemID; }
37 0 : virtual void SetPosition(TLorentzVector &x) { fX =x.X(); fY =x.Y(); fZ =x.Z(); }
38 0 : virtual void SetTOF(Double_t time) { fTOF = time; }
39 0 : virtual void SetStatus(Int_t status) { fStatus = status; }
40 0 : virtual void SetEloss(Double_t energy) { fEloss = energy; }
41 0 : virtual void SetMomentum(TLorentzVector &p) { fPx=p.Px(); fPy=p.Py(); fPz=p.Pz(); }
42 :
43 0 : virtual Int_t GetTrackStatus() const { return fStatus; }
44 0 : virtual Int_t GetPlane() const { return fPlane; }
45 0 : virtual Int_t GetDetElemID() const { return fDetElemID; }
46 0 : virtual Double_t GetEloss() const { return fEloss; }
47 0 : virtual Double_t GetTOF() const { return fTOF; }
48 :
49 0 : virtual void GetPosition(Double_t &x,Double_t &y,Double_t &z) const { x=fX; y=fY; z=fZ; }
50 0 : virtual Double_t GetX() const { return fX; }
51 0 : virtual Double_t GetY() const { return fY; }
52 0 : virtual Double_t GetZ() const { return fZ; }
53 :
54 0 : virtual void GetMomentum(Double_t &px,Double_t &py,Double_t &pz) const { px=fPx; py=fPy; pz=fPz; }
55 0 : virtual Double_t GetPx() const { return fPx; }
56 0 : virtual Double_t GetPy() const { return fPy; }
57 0 : virtual Double_t GetPz() const { return fPz; }
58 :
59 : TParticle* GetParticle() const;
60 :
61 0 : Bool_t IsInside() const { return (fStatus & 0x1); }
62 0 : Bool_t IsEntering() const { return (fStatus & 0x1<<1); }
63 0 : Bool_t IsExiting() const { return (fStatus & 0x1<<2); }
64 0 : Bool_t IsOut() const { return (fStatus & 0x1<<3); }
65 0 : Bool_t IsDisappeared() const { return (fStatus & 0x1<<4); }
66 0 : Bool_t IsStopped() const { return (fStatus & 0x1<<5); }
67 0 : Bool_t IsAlive() const { return (fStatus & 0x1<<6); }
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 12 : ClassDef(AliMFTHit,3)
87 :
88 : };
89 :
90 : //====================================================================================================================================================
91 :
92 : #endif
|