12-may-2004 NvE Track reference-point introduced in AliTrack.
[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
11 #include "Ali3Vector.h"
12 #include "AliTrack.h"
13 #include "AliEvent.h"
14  
15 class AliHelix : public THelix
16 {
17  public:
18   AliHelix();                  // Default constructor
19   virtual ~AliHelix();         // Destructor
20   AliHelix(const AliHelix& h); // Copy constructor
21   void SetB(Ali3Vector& b);    // Set the magnetic field vector in Tesla
22   Ali3Vector& GetB();          // Provide the magnetic field vector in Tesla
23   void SetTofmax(Float_t tof); // Set maximum time of flight
24   Float_t GetTofmax() const;   // Provide the maximum time of flight
25   void Display(AliTrack* t,Double_t* range=0,Int_t iaxis=3,Double_t scale=-1);// Show curve for this track
26   void Display(AliEvent* e,Double_t* range=0,Int_t iaxis=3,Double_t scale=-1);// Show curves for this event
27   void Refresh(Int_t mode=0);  // Refresh the view before drawing the next one
28   AliPosition* Extrapolate(AliTrack* t,Double_t* pars=0,Double_t scale=-1); // Extrapolate this track
29   void MakeCurve(AliTrack* t,Double_t* range=0,Int_t iaxis=3,Double_t scale=-1); // Helix curve for this track
30
31  protected:
32   Ali3Vector fB;                               // The magnetic field vector in Tesla
33   Float_t fTofmax;                             // The maximum time of flight
34   Int_t fRefresh;                              // Auto-refresh flag for drawings
35   TObjArray* fCurves;                          //! Temp. storage for the curves on the drawing
36   AliPosition* fExt;                           //! The extrapolation result
37  
38  ClassDef(AliHelix,1) // Representation and extrapolation of AliTracks in a magnetic field.
39 };
40 #endif