* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-////////////////////////////////////////////////////////////////////////
-//
-// AliTOFtrack class
-//
-// Authors: Bologna-CERN-ITEP-Salerno Group
-//
-// Description: class for handling ESD extracted tracks for TOF matching.
+
/* $Id$ */
-#include <Riostream.h>
-#include <TObject.h>
+/////////////////////////////////////////////////////////////////////////////
+// //
+// AliTOFtrack class //
+// //
+// Authors: Bologna-CERN-ITEP-Salerno Group //
+// //
+// Description: class for handling ESD extracted tracks for TOF matching. //
+// //
+/////////////////////////////////////////////////////////////////////////////
+
+#include "AliESDtrack.h"
#include "AliLog.h"
+
+#include "AliTOFGeometryV4.h"
+#include "AliTOFGeometry.h"
#include "AliTOFtrack.h"
-#include "AliESDtrack.h"
ClassImp(AliTOFtrack)
fCty=t.fCty; fCtz=t.fCtz; fCte=t.fCte; fCtt=t.fCtt;
fCcy=t.fCcy; fCcz=t.fCcz; fCce=t.fCce; fCct=t.fCct; fCcc=t.fCcc;
+ fTOFgeometry = new AliTOFGeometryV4();
}
// Constructor from AliESDtrack
//
+ fTOFgeometry = new AliTOFGeometryV4();
+
SetSeedIndex(-1);
SetLabel(t.GetLabel());
SetChi2(0.);
}
+
+//____________________________________________________________________________
+AliTOFtrack& AliTOFtrack::operator=(const AliTOFtrack &source)
+{
+ // ass. op.
+
+ this->fTOFgeometry=source.fTOFgeometry;
+ return *this;
+
+}
+
//____________________________________________________________________________
void AliTOFtrack::GetExternalParameters(Double_t& xr, Double_t x[5]) const {
//
if((5940*beta2/(1-beta2+1e-10) - beta2) < 0){return 0;}
Double_t dE=0.153e-3/beta2*(log(5940*beta2/(1-beta2+1e-10)) - beta2)*d*rho;
+ //
+ // suspicious part - think about it ?
+ Double_t kinE = TMath::Sqrt(p2);
+ if (dE>0.8*kinE) dE = 0.8*kinE; //
+ if (dE<0) dE = 0.0; // not valid region for Bethe bloch
+ //
+ //
if (x1 < x2) dE=-dE;
cc=fC;
fC*=(1.- sqrt(p2+GetMass()*GetMass())/p2*dE);
// defined by x=xk through media of density=rho and radiationLength=x0
- Double_t ymax=AliTOFGeometry::RinTOF()*TMath::Tan(0.5*AliTOFGeometry::GetAlpha());
+ Double_t ymax=fTOFgeometry->RinTOF()*TMath::Tan(0.5*AliTOFGeometry::GetAlpha());
Bool_t skip = kFALSE;
- Double_t y=GetYat(AliTOFGeometry::RinTOF(),skip);
+ Double_t y=GetYat(fTOFgeometry->RinTOF(),skip);
if(skip){
return 0;
}
}
- if(!PropagateTo(AliTOFGeometry::RinTOF()))return 0;
+ if(!PropagateTo(fTOFgeometry->RinTOF()))return 0;
return 1;
}
//_________________________________________________________________________
-Double_t AliTOFtrack::GetYat(Double_t xk, Bool_t skip) const {
+Double_t AliTOFtrack::GetYat(Double_t xk, Bool_t & skip) const {
//-----------------------------------------------------------------
// This function calculates the Y-coordinate of a track at the plane x=xk.
// Needed for matching with the TOF (I.Belikov)