#include "AliESDtrack.h"
#include "AliTracker.h"
-#include "AliTOFGeometryV5.h"
#include "AliTOFGeometry.h"
#include "AliTOFtrack.h"
AliTOFtrack::AliTOFtrack() :
AliKalmanTrack(),
fSeedInd(-1),
- fSeedLab(-1),
- fTOFgeometry(0)
+ fSeedLab(-1)
{
//
// Default constructor.
AliTOFtrack::AliTOFtrack(const AliTOFtrack& t) :
AliKalmanTrack(t),
fSeedInd(t.fSeedInd),
- fSeedLab(t.fSeedLab),
- fTOFgeometry(new AliTOFGeometryV5())
+ fSeedLab(t.fSeedLab)
{
//
// Copy constructor.
AliTOFtrack::AliTOFtrack(const AliESDtrack& t) :
AliKalmanTrack(),
fSeedInd(-1),
- fSeedLab(-1),
- fTOFgeometry(new AliTOFGeometryV5())
+ fSeedLab(-1)
{
//
// Constructor from AliESDtrack
{
// ass. op.
- this->fTOFgeometry=source.fTOFgeometry;
return *this;
}
// defined by x=xk through media of density=rho and radiationLength=x0
- Double_t ymax=fTOFgeometry->RinTOF()*TMath::Tan(0.5*AliTOFGeometry::GetAlpha());
+ Double_t ymax=AliTOFGeometry::RinTOF()*TMath::Tan(0.5*AliTOFGeometry::GetAlpha());
Bool_t skip = kFALSE;
- Double_t y=GetYat(fTOFgeometry->RinTOF(),skip);
+ Double_t y=GetYat(AliTOFGeometry::RinTOF(),skip);
if (skip) {
return kFALSE;
}
}
- if(!PropagateTo(fTOFgeometry->RinTOF()))return 0;
+ if(!PropagateTo(AliTOFGeometry::RinTOF()))return 0;
return kTRUE;
}
+//_________________________________________________________________________
+Double_t AliTOFtrack::GetPredictedChi2(const AliCluster3D *c) const {
+ //
+ //
+ //
+ Double_t p[3]={c->GetX(), c->GetY(), c->GetZ()};
+ Double_t covyz[3]={c->GetSigmaY2(), c->GetSigmaYZ(), c->GetSigmaZ2()};
+ Double_t covxyz[3]={c->GetSigmaX2(), c->GetSigmaXY(), c->GetSigmaXZ()};
+ return AliExternalTrackParam::GetPredictedChi2(p, covyz, covxyz);
+}
+//_________________________________________________________________________
+Bool_t AliTOFtrack::PropagateTo(const AliCluster3D *c) {
+ //
+ //
+ //
+ Double_t oldX=GetX(), oldY=GetY(), oldZ=GetZ();
+ Double_t p[3]={c->GetX(), c->GetY(), c->GetZ()};
+ Double_t covyz[3]={c->GetSigmaY2(), c->GetSigmaYZ(), c->GetSigmaZ2()};
+ Double_t covxyz[3]={c->GetSigmaX2(), c->GetSigmaXY(), c->GetSigmaXZ()};
+ Double_t bz=GetBz();
+ if (!AliExternalTrackParam::PropagateTo(p, covyz, covxyz, bz)) return kFALSE;
+ if (IsStartedTimeIntegral()) {
+ Double_t d = TMath::Sqrt((GetX()-oldX)*(GetX()-oldX) +
+ (GetY()-oldY)*(GetY()-oldY) +
+ (GetZ()-oldZ)*(GetZ()-oldZ));
+ if (GetX()<oldX) d=-d;
+ AddTimeStep(d);
+ }
+ return kTRUE;
+}
//_________________________________________________________________________
Double_t AliTOFtrack::GetYat(Double_t xk, Bool_t & skip) const {
//-----------------------------------------------------------------
return 0;
}
+//_____________________________________________________________________________
Double_t AliTOFtrack::GetBz() const {
//
// returns Bz component of the magnetic field (kG)