2 // Main authors: Matevz Tadel & Alja Mrak-Tadel & Bogdan Vulpescu: 2006, 2007
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 AliEveMUONTrack_H
10 #define AliEveMUONTrack_H
12 #include <TEveTrack.h>
15 class AliMUONTriggerTrack;
17 class AliESDMuonTrack;
18 class AliTrackReference;
22 class TEveTrackPropagator;
26 class AliEveMUONTrack: public TEveTrack
30 AliEveMUONTrack(TEveRecTrack* t, TEveTrackPropagator* rs);
31 virtual ~AliEveMUONTrack();
33 virtual void MakeTrack(Bool_t /*recurse*/=kFALSE) {}
35 void MakeMUONTrack(AliMUONTrack *mtrack);
36 void MakeMUONTriggerTrack(AliMUONTriggerTrack *mtrack);
37 void MakeESDTrack(AliESDMuonTrack *mtrack);
38 void MakeMCTrack(TParticle *part);
39 void MakeRefTrack(AliMUONTrack *mtrack);
40 void GetField(Double_t *position, Double_t *field);
41 void Propagate(Float_t *xr, Float_t *yr, Float_t *zr, Int_t i1, Int_t i2);
42 void OneStepRungekutta(Double_t charge, Double_t step,
43 Double_t* vect, Double_t* vout);
44 Int_t ColorIndex(Float_t val);
46 Bool_t IsMUONTrack() const { return fIsMUONTrack; }
47 Bool_t IsMUONTriggerTrack() const { return fIsMUONTrack; }
48 Bool_t IsESDTrack() const { return fIsESDTrack; }
49 Bool_t IsMCTrack() const { return fIsMCTrack; }
50 Bool_t IsRefTrack() const { return fIsRefTrack; }
52 void PrintMCTrackInfo();
53 void PrintMUONTrackInfo();
54 void PrintMUONTriggerTrackInfo();
55 void PrintESDTrackInfo();
57 void MUONTrackInfo(); // *MENU*
58 void MUONTriggerInfo(); // *MENU*
62 AliEveMUONTrack(const AliEveMUONTrack&); // Not implemented
63 AliEveMUONTrack& operator=(const AliEveMUONTrack&); // Not implemented
65 AliMUONTrack *fTrack; // pointer to the MUON track
66 TParticle *fPart; // pointer to the MC particle
67 Int_t fCount; // track points counter
68 Bool_t fIsMUONTrack; // track from MUON.Tracks.root
69 Bool_t fIsMUONTriggerTrack; // trigger track from MUON.Tracks.root
70 Bool_t fIsESDTrack; // track from AliESDs.root
71 Bool_t fIsMCTrack; // track from Kinematics.root
72 Bool_t fIsRefTrack; // track from TrackRefs.root
74 static AliMagF *fgFieldMap; // pointer to the magnetic field map
76 ClassDef(AliEveMUONTrack, 0); // Produce TEveUtil:TEveTrack from AliMUONTrack