]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TOF/AliTOFtrack.h
Destructors fixed to check for already existing objects before deleting (F.Bellini)
[u/mrichter/AliRoot.git] / TOF / AliTOFtrack.h
1 #ifndef ALITOFTRACK_H
2 #define ALITOFTRACK_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //----------------------------------------------------------------------------//
8 //                                                                            //
9 //   Description: class for handling ESD extracted tracks for TOF matching.   //
10 //                                                                            //
11 //----------------------------------------------------------------------------//
12
13 #include "TMath.h"
14 #include "TVector2.h"
15
16 #include "AliKalmanTrack.h"
17
18 #include "AliCluster3D.h"
19 #include "AliTOFGeometry.h"
20
21 class TObject;
22
23 class AliESDtrack;
24
25 class AliTOFtrack : public AliKalmanTrack {
26
27 public:
28
29    AliTOFtrack();
30    AliTOFtrack(const AliTOFtrack& t);
31    AliTOFtrack(const AliESDtrack& t);
32    AliTOFtrack& operator=(const AliTOFtrack &/*source*/); // ass. op.
33
34    Int_t    GetSector() const {
35      return Int_t(TVector2::Phi_0_2pi(GetAlpha())/AliTOFGeometry::GetAlpha())%AliTOFGeometry::NSectors();}
36
37    Int_t    GetSeedLabel() const { return fSeedLab; }
38    Int_t    GetSeedIndex() const { return fSeedInd; }
39    void     SetSeedLabel(Int_t lab) { fSeedLab=lab; }
40    void     SetSeedIndex(Int_t ind) { fSeedInd=ind; }
41   
42    Int_t Compare(const TObject *o) const;
43
44    Double_t GetYat(Double_t xk, Bool_t & skip) const;
45    Double_t GetPredictedChi2(const AliCluster3D *c) const;
46    Bool_t   PropagateTo(const AliCluster3D *c);
47    Bool_t   PropagateTo(Double_t xr, Double_t x0=8.72, Double_t rho=5.86e-3);
48    Bool_t   PropagateToInnerTOF();
49    Bool_t   Rotate(Double_t angle) {
50      return AliExternalTrackParam::Rotate(GetAlpha()+angle);
51    }
52
53 protected:
54    Bool_t Update(const AliCluster */*c*/, Double_t /*chi2*/, Int_t /*idx*/) {
55      return 0;
56    }
57    Double_t GetPredictedChi2(const AliCluster */*c*/) const {return 0.;}
58    
59    Int_t    fSeedInd;     // ESD seed track index  
60    Int_t    fSeedLab;     // track label taken from seeding  
61
62  private:
63
64    void GetPropagationParameters(Double_t *param);
65    
66    ClassDef(AliTOFtrack,2) // TOF reconstructed tracks
67
68 };                     
69
70 #endif