]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveMUONTrack.h
New code for full visualization of the vzero raw data. ctrl-alt-letf-button shows...
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveMUONTrack.h
1 // $Id$
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel & Bogdan Vulpescu: 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 AliEveMUONTrack_H
10 #define AliEveMUONTrack_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  public:
29
30   AliEveMUONTrack(TEveRecTrack* t, TEveTrackPropagator* rs);
31   virtual ~AliEveMUONTrack();
32
33   virtual void MakeTrack(Bool_t /*recurse*/=kFALSE) {}
34
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);
45
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;  }
51
52   void PrintMCTrackInfo();
53   void PrintMUONTrackInfo();
54   void PrintMUONTriggerTrackInfo();
55   void PrintESDTrackInfo();
56
57   void  MUONTrackInfo();          // *MENU*
58   void  MUONTriggerInfo();        // *MENU*
59
60  private:
61
62   AliEveMUONTrack(const AliEveMUONTrack&);            // Not implemented
63   AliEveMUONTrack& operator=(const AliEveMUONTrack&); // Not implemented
64
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
73
74   static AliMagF      *fgFieldMap;    // pointer to the magnetic field map
75
76   ClassDef(AliEveMUONTrack, 0);    // Produce TEveUtil:TEveTrack from AliMUONTrack
77 };
78
79 #endif
80