10#ifndef CBMKFPARTICLE_H
11#define CBMKFPARTICLE_H
22 int Id()
const {
return fId; };
24 const vector<int>&
DaughterIds()
const {
return fDaughtersIds; };
26 void SetId(
int id ){ fId = id; }
34 vector<int> fDaughtersIds;
54 void Construct( vector<CbmKFTrackInterface*> &vDaughters,
56 Double_t Mass=-1, Double_t CutChi2=-1 );
70 Double_t
GetX ()
const {
return r[0]; }
71 Double_t
GetY ()
const {
return r[1]; }
72 Double_t
GetZ ()
const {
return r[2]; }
73 Double_t
GetPx ()
const {
return r[3]; }
74 Double_t
GetPy ()
const {
return r[4]; }
75 Double_t
GetPz ()
const {
return r[5]; }
76 Double_t
GetE ()
const {
return r[6]; }
77 Double_t
GetS ()
const {
return r[7]; }
78 Double_t
GetQ ()
const {
return Q; }
95 Double_t &
rX () {
return r[0]; }
96 Double_t &
rY () {
return r[1]; }
97 Double_t &
rZ () {
return r[2]; }
98 Double_t &
rPx () {
return r[3]; }
99 Double_t &
rPy () {
return r[4]; }
100 Double_t &
rPz () {
return r[5]; }
101 Double_t &
rE () {
return r[6]; }
102 Double_t &
rS () {
return r[7]; }
103 Double_t &
rQ () {
return Q; }
133 Double_t&
Cij( Int_t
i, Int_t j ){
134 return C[( j<=
i ) ?
i*(
i+1)/2+j :j*(j+1)/2+
i];
136 static Int_t
IJ( Int_t
i, Int_t j ){
137 return ( j<=
i ) ?
i*(
i+1)/2+j :j*(j+1)/2+
i;
142 void Convert( Double_t r0[],
bool ToProduction );
void SetNDaughters(int n)
void GetMomentum(Double_t &P, Double_t &Error)
void Extrapolate(Double_t r0[], double T)
Double_t & rCovariance(Int_t i, Int_t j)
void GetMass(Double_t &M, Double_t &Error)
ClassDef(CbmKFParticle, 1)
Double_t * GetParameters()
Double_t & rCovariance(Int_t i)
CbmKFParticle(CbmKFTrackInterface *Track, Double_t *z0=0, Int_t *qHypo=0, Int_t *pdg=0)
void ExtrapolateLine(Double_t r0[], double T)
void GetLifeTime(Double_t &T, Double_t &Error)
void GetDecayLength(Double_t &L, Double_t &Error)
Double_t GetRapidity() const
static Int_t IJ(Int_t i, Int_t j)
Double_t GetParameter(Int_t i) const
Double_t & Cij(Int_t i, Int_t j)
void GetKFVertex(CbmKFVertexInterface &vtx)
void TransportToProductionVertex()
Double_t GetTheta() const
Double_t GetCovariance(Int_t i) const
Bool_t GetAtProductionVertex() const
const vector< int > & DaughterIds() const
void MeasureProductionVertex(Double_t r0[], CbmKFVertexInterface *Parent)
Bool_t AtProductionVertex
void TransportToDecayVertex()
Double_t GetDStoPoint(const Double_t xyz[]) const
void MeasureMass(Double_t r0[], Double_t Mass)
void GetKFTrack(CbmKFTrackInterface *Track)
Double_t GetCovariance(Int_t i, Int_t j) const
Double_t & rParameter(Int_t i)
Double_t * GetCovMatrix()
void Convert(Double_t r0[], bool ToProduction)
void ConstructFromKFParticle(vector< CbmKFParticle * > &vDaughters, CbmKFVertexInterface *Parent=0, Double_t Mass=-1, Double_t CutChi2=-1)
void Construct(vector< CbmKFTrackInterface * > &vDaughters, CbmKFVertexInterface *Parent=0, Double_t Mass=-1, Double_t CutChi2=-1)