]>
Commit | Line | Data |
---|---|---|
c5555bc0 | 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" | |
695e17b3 | 12 | |
13 | class AliEvent; | |
14 | class AliTrack; | |
15 | class AliPosition; | |
c5555bc0 | 16 | |
17 | class AliHelix : public THelix | |
18 | { | |
19 | public: | |
20 | AliHelix(); // Default constructor | |
695e17b3 | 21 | virtual ~AliHelix() |
22 | { | |
23 | // Destructor to delete dynamically allocated memory. | |
24 | if (fCurves) | |
25 | { | |
26 | delete fCurves; | |
27 | fCurves=0; | |
28 | } | |
29 | if (fExt) | |
30 | { | |
31 | delete fExt; | |
32 | fExt=0; | |
33 | } | |
34 | } | |
c5555bc0 | 35 | AliHelix(const AliHelix& h); // Copy constructor |
36 | void SetB(Ali3Vector& b); // Set the magnetic field vector in Tesla | |
37 | Ali3Vector& GetB(); // Provide the magnetic field vector in Tesla | |
38 | void SetTofmax(Float_t tof); // Set maximum time of flight | |
39 | Float_t GetTofmax() const; // Provide the maximum time of flight | |
40 | void Display(AliTrack* t,Double_t* range=0,Int_t iaxis=3,Double_t scale=-1);// Show curve for this track | |
41 | void Display(AliEvent* e,Double_t* range=0,Int_t iaxis=3,Double_t scale=-1);// Show curves for this event | |
aa8231b0 | 42 | void Display(TObjArray* a,Double_t* range=0,Int_t iaxis=3,Double_t scale=-1);// Show curves for this track array |
c5555bc0 | 43 | void Refresh(Int_t mode=0); // Refresh the view before drawing the next one |
44 | AliPosition* Extrapolate(AliTrack* t,Double_t* pars=0,Double_t scale=-1); // Extrapolate this track | |
45 | void MakeCurve(AliTrack* t,Double_t* range=0,Int_t iaxis=3,Double_t scale=-1); // Helix curve for this track | |
62e01f4c | 46 | void SetMarker(Int_t marker=8,Float_t size=0.2,Int_t color=-1); // Set marker for track starting point |
47 | void UseEndPoint(Int_t mode=1); // (De)Select (0/1) usage of track endpoint for drawing and extrapolation | |
c5555bc0 | 48 | |
49 | protected: | |
62e01f4c | 50 | Ali3Vector fB; // The magnetic field vector in Tesla |
51 | Float_t fTofmax; // The maximum time of flight | |
52 | Int_t fRefresh; // Auto-refresh flag for drawings | |
53 | Int_t fMstyle; // The marker style to indicate the track starting point | |
54 | Float_t fMsize; // The size of the marker | |
55 | Int_t fMcol; // The colour of the marker | |
56 | Int_t fEnduse; // Flag to denote tracks endpoint usage | |
57 | TObjArray* fCurves; //! Temp. storage for the curves on the drawing | |
58 | AliPosition* fExt; //! The extrapolation result | |
c5555bc0 | 59 | |
aa8231b0 | 60 | ClassDef(AliHelix,3) // Representation and extrapolation of AliTracks in a magnetic field. |
c5555bc0 | 61 | }; |
62 | #endif |