2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 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 ALIEVE_MUONTrack_H
10 #define ALIEVE_MUONTrack_H
12 #include <TEveTrack.h>
15 class AliMUONTriggerTrack;
17 class AliESDMuonTrack;
18 class AliTrackReference;
22 class TEveTrackPropagator;
26 class AliEveMUONTrack: public TEveTrack
29 AliEveMUONTrack(const AliEveMUONTrack&); // Not implemented
30 AliEveMUONTrack& operator=(const AliEveMUONTrack&); // Not implemented
34 AliEveMUONTrack(TEveRecTrack* t, TEveTrackPropagator* rs);
35 virtual ~AliEveMUONTrack();
37 virtual void MakeTrack(Bool_t /*recurse*/=kFALSE) {}
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);
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; };
56 void PrintMCTrackInfo();
57 void PrintMUONTrackInfo();
58 void PrintMUONTriggerTrackInfo();
59 void PrintESDTrackInfo();
61 void MUONTrackInfo(); // *MENU*
62 void MUONTriggerInfo(); // *MENU*
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
75 static AliMagF *fFieldMap; // pointer to the magnetic field map
77 ClassDef(AliEveMUONTrack, 1); // Produce TEveUtil:TEveTrack from AliMUONTrack