Modifications needed to do the following:
[u/mrichter/AliRoot.git] / RALICE / AliHelix.h
1 #ifndef ALIHELIX_H
2 #define ALIHELIX_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 // $Id$
7
8 #include "THelix.h"
9 #include "TObjArray.h"
10 #include "TPolyMarker3D.h"
11
12 #include "Ali3Vector.h"
13 #include "AliTrack.h"
14 #include "AliEvent.h"
15  
16 class AliHelix : public THelix
17 {
18  public:
19   AliHelix();                  // Default constructor
20   virtual ~AliHelix();         // Destructor
21   AliHelix(const AliHelix& h); // Copy constructor
22   void SetB(Ali3Vector& b);    // Set the magnetic field vector in Tesla
23   Ali3Vector& GetB();          // Provide the magnetic field vector in Tesla
24   void SetTofmax(Float_t tof); // Set maximum time of flight
25   Float_t GetTofmax() const;   // Provide the maximum time of flight
26   void Display(AliTrack* t,Double_t* range=0,Int_t iaxis=3,Double_t scale=-1);// Show curve for this track
27   void Display(AliEvent* e,Double_t* range=0,Int_t iaxis=3,Double_t scale=-1);// Show curves for this event
28   void Display(TObjArray* a,Double_t* range=0,Int_t iaxis=3,Double_t scale=-1);// Show curves for this track array
29   void Refresh(Int_t mode=0);  // Refresh the view before drawing the next one
30   AliPosition* Extrapolate(AliTrack* t,Double_t* pars=0,Double_t scale=-1); // Extrapolate this track
31   void MakeCurve(AliTrack* t,Double_t* range=0,Int_t iaxis=3,Double_t scale=-1); // Helix curve for this track
32   void SetMarker(Int_t marker=8,Float_t size=0.2,Int_t color=-1); // Set marker for track starting point 
33   void UseEndPoint(Int_t mode=1); // (De)Select (0/1) usage of track endpoint for drawing and extrapolation
34
35  protected:
36   Ali3Vector fB;       // The magnetic field vector in Tesla
37   Float_t fTofmax;     // The maximum time of flight
38   Int_t fRefresh;      // Auto-refresh flag for drawings
39   Int_t fMstyle;       // The marker style to indicate the track starting point
40   Float_t fMsize;      // The size of the marker
41   Int_t fMcol;         // The colour of the marker
42   Int_t fEnduse;       // Flag to denote tracks endpoint usage
43   TObjArray* fCurves;  //! Temp. storage for the curves on the drawing
44   AliPosition* fExt;   //! The extrapolation result
45  
46  ClassDef(AliHelix,3) // Representation and extrapolation of AliTracks in a magnetic field.
47 };
48 #endif