ROOT logo
#ifndef ALITOFTRACK_H
#define ALITOFTRACK_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

//----------------------------------------------------------------------------//
//                                                                            //
//   Description: class for handling ESD extracted tracks for TOF matching.   //
//                                                                            //
//----------------------------------------------------------------------------//

#include "TMath.h"
#include "TVector2.h"

#include "AliKalmanTrack.h"

#include "AliCluster3D.h"
#include "AliTOFGeometry.h"

class TObject;

class AliESDtrack;

class AliTOFtrack : public AliKalmanTrack {

public:

   AliTOFtrack();
   AliTOFtrack(const AliTOFtrack& t);
   AliTOFtrack(const AliESDtrack& t);
   AliTOFtrack& operator=(const AliTOFtrack &/*source*/); // ass. op.
   AliTOFtrack& operator=(const AliESDtrack &/*source*/); // ass. op. with ESD track

   Int_t    GetSector() const {
     return Int_t(TVector2::Phi_0_2pi(GetAlpha())/AliTOFGeometry::GetAlpha())%AliTOFGeometry::NSectors();}

   Int_t    GetSeedLabel() const { return fSeedLab; }
   Int_t    GetSeedIndex() const { return fSeedInd; }
   void     SetSeedLabel(Int_t lab) { fSeedLab=lab; }
   void     SetSeedIndex(Int_t ind) { fSeedInd=ind; }
  
   Int_t Compare(const TObject *o) const;

   Double_t GetYat(Double_t xk, Bool_t & skip) const;
   Double_t GetPredictedChi2(const AliCluster3D *c) const;
   Bool_t   PropagateTo(const AliCluster3D *c);
   Bool_t   PropagateTo(Double_t xr, Double_t x0=8.72, Double_t rho=5.86e-3);
   Bool_t   PropagateToInnerTOF();
   Bool_t   PropagateToInnerTOFold();
   Bool_t   Rotate(Double_t angle) {
     return AliExternalTrackParam::Rotate(GetAlpha()+angle);
   }

protected:
   Bool_t Update(const AliCluster */*c*/, Double_t /*chi2*/, Int_t /*idx*/) {
     return 0;
   }
   Double_t GetPredictedChi2(const AliCluster */*c*/) const {return 0.;}
   
   Int_t    fSeedInd;     // ESD seed track index  
   Int_t    fSeedLab;     // track label taken from seeding  

 private:

   void GetPropagationParameters(Double_t *param);
   
   ClassDef(AliTOFtrack,2) // TOF reconstructed tracks

};                     

#endif
 AliTOFtrack.h:1
 AliTOFtrack.h:2
 AliTOFtrack.h:3
 AliTOFtrack.h:4
 AliTOFtrack.h:5
 AliTOFtrack.h:6
 AliTOFtrack.h:7
 AliTOFtrack.h:8
 AliTOFtrack.h:9
 AliTOFtrack.h:10
 AliTOFtrack.h:11
 AliTOFtrack.h:12
 AliTOFtrack.h:13
 AliTOFtrack.h:14
 AliTOFtrack.h:15
 AliTOFtrack.h:16
 AliTOFtrack.h:17
 AliTOFtrack.h:18
 AliTOFtrack.h:19
 AliTOFtrack.h:20
 AliTOFtrack.h:21
 AliTOFtrack.h:22
 AliTOFtrack.h:23
 AliTOFtrack.h:24
 AliTOFtrack.h:25
 AliTOFtrack.h:26
 AliTOFtrack.h:27
 AliTOFtrack.h:28
 AliTOFtrack.h:29
 AliTOFtrack.h:30
 AliTOFtrack.h:31
 AliTOFtrack.h:32
 AliTOFtrack.h:33
 AliTOFtrack.h:34
 AliTOFtrack.h:35
 AliTOFtrack.h:36
 AliTOFtrack.h:37
 AliTOFtrack.h:38
 AliTOFtrack.h:39
 AliTOFtrack.h:40
 AliTOFtrack.h:41
 AliTOFtrack.h:42
 AliTOFtrack.h:43
 AliTOFtrack.h:44
 AliTOFtrack.h:45
 AliTOFtrack.h:46
 AliTOFtrack.h:47
 AliTOFtrack.h:48
 AliTOFtrack.h:49
 AliTOFtrack.h:50
 AliTOFtrack.h:51
 AliTOFtrack.h:52
 AliTOFtrack.h:53
 AliTOFtrack.h:54
 AliTOFtrack.h:55
 AliTOFtrack.h:56
 AliTOFtrack.h:57
 AliTOFtrack.h:58
 AliTOFtrack.h:59
 AliTOFtrack.h:60
 AliTOFtrack.h:61
 AliTOFtrack.h:62
 AliTOFtrack.h:63
 AliTOFtrack.h:64
 AliTOFtrack.h:65
 AliTOFtrack.h:66
 AliTOFtrack.h:67
 AliTOFtrack.h:68
 AliTOFtrack.h:69
 AliTOFtrack.h:70
 AliTOFtrack.h:71
 AliTOFtrack.h:72