13 #ifndef ROOT_TMCParticleStatus
14 #define ROOT_TMCParticleStatus
28 struct TMCParticleStatus {
31 TMCParticleStatus() =
default;
34 void InitFromParticle(
const TParticle *particle)
36 particle->ProductionVertex(fPosition);
37 particle->Momentum(fMomentum);
38 particle->GetPolarisation(fPolarization);
39 fWeight = particle->GetWeight();
42 virtual ~TMCParticleStatus() =
default;
51 ::Info(
"Print",
"Status of track");
53 <<
"ID: " << fId <<
"\n"
55 <<
"parentID: " << fParentId <<
"\n"
57 <<
"weight: " << fWeight <<
"\n"
59 <<
"geo state index: " << fGeoStateIndex <<
"\n"
61 <<
"step number: " << fStepNumber <<
"\n"
63 <<
"track length: " << fTrackLength <<
"\n"
65 <<
"position" << std::endl;
68 <<
"momentum" << std::endl;
71 <<
"polarization" << std::endl;
72 fPolarization.Print();
76 Int_t fStepNumber = 0;
78 Double_t fTrackLength = 0.;
80 TLorentzVector fPosition;
82 TLorentzVector fMomentum;
84 TVector3 fPolarization;
86 Double_t fWeight = 1.;
88 UInt_t fGeoStateIndex = 0;
98 TMCParticleStatus(
const TMCParticleStatus &);
100 TMCParticleStatus &operator=(
const TMCParticleStatus &);
102 ClassDef(TMCParticleStatus, 1)