]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveMUONTrack.h
Temporary fix to avoid xrootd thrashing
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveMUONTrack.h
1 // $Id$
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4 /**************************************************************************
5  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
7  * full copyright notice.                                                 *
8  **************************************************************************/
9 #ifndef ALIEVE_MUONTrack_H
10 #define ALIEVE_MUONTrack_H
11
12 #include <TEveTrack.h>
13
14 class AliMUONTrack;
15 class AliMUONTriggerTrack;
16 class AliMagF;
17 class AliESDMuonTrack;
18 class AliTrackReference;
19
20 class TParticle;
21
22 class TEveTrackPropagator;
23 class TEveRecTrack;
24
25
26 class AliEveMUONTrack: public TEveTrack
27 {
28
29   AliEveMUONTrack(const AliEveMUONTrack&);            // Not implemented
30   AliEveMUONTrack& operator=(const AliEveMUONTrack&); // Not implemented
31
32  public:
33
34   AliEveMUONTrack(TEveRecTrack* t, TEveTrackPropagator* rs);
35   virtual ~AliEveMUONTrack();
36
37   virtual void MakeTrack(Bool_t /*recurse*/=kFALSE) {}
38
39   void  MakeMUONTrack(AliMUONTrack *mtrack);
40   void  MakeMUONTriggerTrack(AliMUONTriggerTrack *mtrack);
41   void  MakeESDTrack(AliESDMuonTrack *mtrack);
42   void  MakeMCTrack(TParticle *part);
43   void  MakeRefTrack(AliMUONTrack *mtrack);
44   void  GetField(Double_t *position, Double_t *field);
45   void  Propagate(Float_t *xr, Float_t *yr, Float_t *zr, Int_t i1, Int_t i2);
46   void  OneStepRungekutta(Double_t charge, Double_t step,
47                           Double_t* vect, Double_t* vout);
48   Int_t ColorIndex(Float_t val);
49
50   Bool_t IsMUONTrack()        { return fIsMUONTrack;  };
51   Bool_t IsMUONTriggerTrack() { return fIsMUONTrack;  };
52   Bool_t IsESDTrack()         { return fIsESDTrack;   };
53   Bool_t IsMCTrack()          { return fIsMCTrack;    };
54   Bool_t IsRefTrack()         { return fIsRefTrack;   };
55
56   void PrintMCTrackInfo();
57   void PrintMUONTrackInfo();
58   void PrintMUONTriggerTrackInfo();
59   void PrintESDTrackInfo();
60
61   void  MUONTrackInfo();          // *MENU*
62   void  MUONTriggerInfo();        // *MENU*
63
64  private:
65
66   AliMUONTrack *fTrack;              // pointer to the MUON track
67   TParticle    *fPart;               // pointer to the MC particle
68   Int_t         fCount;              // track points counter
69   Bool_t        fIsMUONTrack;        // track from MUON.Tracks.root
70   Bool_t        fIsMUONTriggerTrack; // trigger track from MUON.Tracks.root
71   Bool_t        fIsESDTrack;         // track from AliESDs.root
72   Bool_t        fIsMCTrack;          // track from Kinematics.root
73   Bool_t        fIsRefTrack;         // track from TrackRefs.root
74
75   static AliMagF      *fFieldMap;    // pointer to the magnetic field map
76
77   ClassDef(AliEveMUONTrack, 1);    // Produce TEveUtil:TEveTrack from AliMUONTrack
78
79 };
80
81 #endif
82