19 #define HomogeneousField
21 #ifndef ALIKFPARTICLE_H
22 #define ALIKFPARTICLE_H
28 #ifdef HomogeneousField
33 #ifdef NonhomogeneousField
34 class CbmKFTrackInterface;
35 class CbmKFVertexInterface;
48 #ifdef HomogeneousField
74 #ifdef HomogeneousField
85 #ifdef NonhomogeneousField
117 Int_t
GetQ ()
const ;
124 #ifdef NonhomogeneousField
125 float* GetFieldCoeff() {
return fieldRegion; }
126 void SetFieldCoeff(
float c,
int i) { fieldRegion[
i] =
c; }
137 const Int_t &
Q ()
const {
return fQ; }
269 #ifdef HomogeneousField
303 #ifdef HomogeneousField
313 #ifdef HomogeneousField
323 #ifdef HomogeneousField
329 #ifdef HomogeneousField
339 #ifdef HomogeneousField
374 #ifdef HomogeneousField
387 #ifdef HomogeneousField
390 #ifdef NonhomogeneousField
391 float fieldRegion[10];
405 #ifdef HomogeneousField
877 #ifdef HomogeneousField
897 #ifdef HomogeneousField
900 #ifdef NonhomogeneousField
933 #ifdef HomogeneousField
959 #ifdef HomogeneousField
966 #ifdef HomogeneousField
974 #ifdef NonhomogeneousField
991 #ifdef HomogeneousField
994 #ifdef NonhomogeneousField
1002 #ifdef HomogeneousField
1005 #ifdef NonhomogeneousField
1013 #ifdef HomogeneousField
Double_t GetPseudoProperDecayTime(const KFParticle &primVertex, const Double_t &mass, Double_t *timeErr2=0) const
static Double_t GetFieldAlice()
static void GetExternalTrackParam(const KFParticleBase &p, Double_t &X, Double_t &Alpha, Double_t P[5])
const Double_t & Chi2() const
Int_t GetDecayLength(Double_t &L, Double_t &SigmaL) const
Double_t GetErrLifeTime() const
Double_t GetErrDecayLengthXY() const
void TransportToProductionVertex()
void TransportToDecayVertex()
Double_t GetDStoPointBz(Double_t Bz, const Double_t xyz[]) const
void SetMassConstraint(Double_t Mass, Double_t SigmaMass=0)
Double_t GetMomentum() const
void SetProductionVertex(const KFParticle &Vtx)
Double_t GetRapidity() const
Int_t GetEta(Double_t &Eta, Double_t &SigmaEta) const
Bool_t GetAtProductionVertex() const
friend F32vec4 sqrt(const F32vec4 &a)
Double_t val[nBoxes][nFEBox]
Double_t GetDistanceFromParticle(const KFParticleBase &p) const
Double_t GetErrPhi() const
const Double_t & S() const
void ConstructGamma(const KFParticle &daughter1, const KFParticle &daughter2)
Double_t GetDeviationFromVertexXY(const Double_t v[], const Double_t Cv[]=0) const
void SetVtxGuess(Double_t x, Double_t y, Double_t z)
Double_t * CovarianceMatrix()
Double_t GetErrDecayLength() const
Double_t GetDStoPoint(const Double_t xyz[]) const
Double_t GetDeviationFromVertex(const Double_t v[], const Double_t Cv[]=0) const
Double_t GetErrMomentum() const
friend F32vec4 log(const F32vec4 &a)
void GetDStoParticleCBM(const KFParticleBase &p, Double_t &dS, Double_t &dS1) const
Double_t GetTheta() const
Double_t GetDStoPointCBM(const Double_t xyz[]) const
Int_t GetMass(Double_t &M, Double_t &SigmaM) const
Double_t & Covariance(int i)
void TransportCBM(Double_t dS, Double_t P[], Double_t C[]) const
void SetVtxGuess(Double_t x, Double_t y, Double_t z)
Double_t GetAngle(const KFParticle &p) const
void operator+=(const KFParticleBase &Daughter)
void TransportToPoint(const Double_t xyz[])
Int_t GetPhi(Double_t &Phi, Double_t &SigmaPhi) const
const Int_t & NDF() const
Double_t GetCovariance(int i) const
const Double_t & Pz() const
Double_t GetCovariance(Int_t i) const
const Double_t & Px() const
void TransportToProductionVertex()
Double_t GetDistanceFromVertex(const Double_t vtx[]) const
const Double_t & Chi2() const
void Construct(const KFParticleBase *vDaughters[], Int_t nDaughters, const KFParticleBase *ProdVtx=0, Double_t Mass=-1, Bool_t IsConstrained=0)
Double_t GetDeviationFromParticle(const KFParticle &p) const
void SetProductionVertex(const KFParticleBase &Vtx)
Double_t GetAngleRZ(const KFParticle &p) const
Double_t GetDistanceFromParticleXY(const KFParticle &p) const
void TransportBz(Double_t Bz, Double_t dS, Double_t P[], Double_t C[]) const
const Double_t & S() const
void GetFieldValue(const Double_t xyz[], Double_t B[]) const
Double_t GetDecayLengthXY() const
const Double_t & E() const
void GetDStoParticleBz(Double_t Bz, const KFParticleBase &p, Double_t &dS, Double_t &dS1) const
void SubtractFromVertex(KFParticle &v) const
void SetMassConstraint(Double_t Mass, Double_t SigmaMass=0)
Int_t GetPt(Double_t &Pt, Double_t &SigmaPt) const
Int_t GetMomentum(Double_t &P, Double_t &SigmaP) const
void TransportToDS(Double_t dS)
Double_t GetDistanceFromParticle(const KFParticle &p) const
Int_t GetLifeTime(Double_t &T, Double_t &SigmaT) const
void GetDStoParticle(const KFParticle &p, Double_t &DS, Double_t &DSp) const
Double_t GetDeviationFromParticle(const KFParticleBase &p) const
void SetAtProductionVertex(Bool_t b)
void SetNDaughters(int n)
Bool_t GetDistanceFromVertexXY(const Double_t vtx[], Double_t &val, Double_t &err) const
friend F32vec4 fabs(const F32vec4 &a)
const Double_t & E() const
Double_t GetErrMass() const
const Double_t & X() const
void TransportToDecayVertex()
const Double_t & Py() const
void Transport(Double_t dS, Double_t P[], Double_t C[]) const
friend F32vec4 atan2(const F32vec4 &y, const F32vec4 &x)
Double_t GetErrPz() const
const Double_t & X() const
Double_t GetErrEta() const
void TransportToVertex(const KFPVertex &v)
Double_t GetParameter(Int_t i) const
void Construct(const KFParticle *vDaughters[], int nDaughters, const KFParticle *ProdVtx=0, Double_t Mass=-1, Bool_t IsConstrained=0)
Double_t GetDeviationFromParticleXY(const KFParticle &p) const
const Int_t & NDF() const
Double_t GetErrPt() const
const Double_t & Py() const
void TransportToDS(Double_t dS)
void SubtractFromVertex(KFParticleBase &Vtx) const
const Double_t & Y() const
void operator+=(const KFParticle &Daughter)
Bool_t fAtProductionVertex
const Double_t & Z() const
Int_t GetR(Double_t &R, Double_t &SigmaR) const
Double_t GetErrPx() const
Double_t GetDistanceFromVertex(const Double_t vtx[]) const
Double_t GetLifeTime() const
Double_t GetErrPy() const
void AddDaughter(const KFParticleBase &Daughter)
const Double_t & Pz() const
Double_t & Parameter(Int_t i)
void Create(const Double_t Param[], const Double_t Cov[], Int_t Charge, Double_t mass)
std::vector< int > fDaughtersIds
static void SetField(Double_t Bz)
Double_t & Parameter(int i)
Double_t GetParameter(int i) const
Double_t GetAngleXY(const KFParticle &p) const
void GetDStoParticleXY(const KFParticleBase &p, Double_t &DS, Double_t &DSp) const
const Double_t & Y() const
Int_t GetDecayLengthXY(Double_t &L, Double_t &SigmaL) const
const Double_t & Px() const
Double_t GetDeviationFromVertex(const Double_t v[], const Double_t Cv[]=0) const
void TransportToParticle(const KFParticle &p)
void ConstructGammaBz(const KFParticleBase &daughter1, const KFParticleBase &daughter2, double Bz)
Double_t GetDecayLength() const
Double_t & Covariance(Int_t i)
const Double_t & Z() const