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