]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Alieve/MUONTrack.h
Runloader is updated when moving to next file (quick fix).
[u/mrichter/AliRoot.git] / EVE / Alieve / MUONTrack.h
1 #ifndef ALIEVE_MUONTrack_H
2 #define ALIEVE_MUONTrack_H
3
4 #include <Reve/Track.h>
5
6 class AliMUONTrack;
7 class AliMUONTriggerTrack;
8 class AliMagF;
9 class AliESDMuonTrack;
10 class AliTrackReference;
11
12 class TParticle;
13
14 namespace Reve {
15
16   class TrackRnrStyle;
17   class RecTrack;
18
19 }
20
21 namespace Alieve {
22
23 class MUONTrack: public Reve::Track
24 {
25
26   MUONTrack(const MUONTrack&);            // Not implemented
27   MUONTrack& operator=(const MUONTrack&); // Not implemented
28
29  public:
30
31   MUONTrack(Reve::RecTrack* t, Reve::TrackRnrStyle* rs);
32   virtual ~MUONTrack();
33
34   virtual void MakeTrack(Bool_t /*recurse*/=kFALSE) {}
35
36   void  MakeMUONTrack(AliMUONTrack *mtrack);
37   void  MakeMUONTriggerTrack(AliMUONTriggerTrack *mtrack);
38   void  MakeESDTrack(AliESDMuonTrack *mtrack);
39   void  MakeMCTrack(TParticle *part);
40   void  MakeRefTrack(AliMUONTrack *mtrack);
41   void  GetField(Double_t *position, Double_t *field);
42   void  Propagate(Float_t *xr, Float_t *yr, Float_t *zr, Int_t i1, Int_t i2);
43   void  OneStepRungekutta(Double_t charge, Double_t step, 
44                           Double_t* vect, Double_t* vout);
45   Int_t ColorIndex(Float_t val);
46
47   Bool_t IsMUONTrack()        { return fIsMUONTrack;  };
48   Bool_t IsMUONTriggerTrack() { return fIsMUONTrack;  };
49   Bool_t IsESDTrack()         { return fIsESDTrack;   };
50   Bool_t IsMCTrack()          { return fIsMCTrack;    };
51   Bool_t IsRefTrack()         { return fIsRefTrack;   };
52
53   void PrintMCTrackInfo();
54   void PrintMUONTrackInfo();
55   void PrintMUONTriggerTrackInfo();
56   void PrintESDTrackInfo();
57
58   void  MUONTrackInfo();          // *MENU*
59   void  MUONTriggerInfo();        // *MENU*
60
61  private:
62
63   AliMUONTrack *fTrack;              // pointer to the MUON track
64   TParticle    *fPart;               // pointer to the MC particle
65   Int_t         fCount;              // track points counter
66   Bool_t        fIsMUONTrack;        // track from MUON.Tracks.root
67   Bool_t        fIsMUONTriggerTrack; // trigger track from MUON.Tracks.root
68   Bool_t        fIsESDTrack;         // track from AliESDs.root
69   Bool_t        fIsMCTrack;          // track from Kinematics.root
70   Bool_t        fIsRefTrack;         // track from TrackRefs.root
71
72   static AliMagF      *fFieldMap;    // pointer to the magnetic field map
73
74   ClassDef(MUONTrack, 1);    // Produce Reve:Track from AliMUONTrack
75
76 };
77
78 }
79
80 #endif
81