1 #ifndef _DKinFitChainStep_
2 #define _DKinFitChainStep_
24 vector<shared_ptr<DKinFitParticle>> Get_AllParticles(
void)
const;
25 shared_ptr<DKinFitParticle>
Get_InitialParticle(
size_t locIndex)
const{
return dInitialParticles[locIndex];}
26 shared_ptr<DKinFitParticle>
Get_FinalParticle(
size_t locIndex)
const{
return dFinalParticles[locIndex];}
33 void Add_InitialParticle(
const shared_ptr<DKinFitParticle>& locInitialParticle){dInitialParticles.push_back(locInitialParticle);}
34 void Add_FinalParticle(
const shared_ptr<DKinFitParticle>& locFinalParticle){dFinalParticles.push_back(locFinalParticle);}
35 void Set_InitialParticle(
const shared_ptr<DKinFitParticle>& locInitialParticle,
size_t locIndex){dInitialParticles[locIndex] = locInitialParticle;}
36 void Set_FinalParticle(
const shared_ptr<DKinFitParticle>& locFinalParticle,
size_t locIndex){dFinalParticles[locIndex] = locFinalParticle;}
43 void Print_InfoToScreen(
void)
const;
48 signed char dInitialParticleDecayFromStepIndex = -1;
49 bool dConstrainDecayingMassFlag =
false;
57 dInitialParticleDecayFromStepIndex = -1;
58 dConstrainDecayingMassFlag =
false;
59 dInitialParticles.clear();
60 dFinalParticles.clear();
65 dInitialParticles.clear();
66 dFinalParticles.clear();
71 auto locAllParticles = dInitialParticles;
72 locAllParticles.insert(locAllParticles.end(), dFinalParticles.begin(), dFinalParticles.end());
73 locAllParticles.erase(std::remove(locAllParticles.begin(), locAllParticles.end(),
nullptr), locAllParticles.end());
74 return locAllParticles;
79 cout <<
"DKinFitChainStep decay from, constrain mass flags = " << int(dInitialParticleDecayFromStepIndex) <<
", " << dConstrainDecayingMassFlag << endl;
81 cout <<
"DKinFitChainStep init particles: PIDs, pointers:" << endl;
82 for(
auto& locParticle : dInitialParticles)
84 if(locParticle ==
nullptr)
85 cout <<
"X, nullptr" << endl;
87 cout << locParticle->Get_PID() <<
", " << locParticle << endl;
90 cout <<
"DKinFitChainStep final particles: PIDs, pointers:" << endl;
91 for(
auto& locParticle : dFinalParticles)
93 if(locParticle ==
nullptr)
94 cout <<
"X, nullptr" << endl;
96 cout << locParticle->Get_PID() <<
", " << locParticle << endl;
100 #endif // _DKinFitChainStep_
vector< shared_ptr< DKinFitParticle > > dInitialParticles
vector< shared_ptr< DKinFitParticle > > dFinalParticles
shared_ptr< DKinFitParticle > Get_InitialParticle(size_t locIndex) const
void Set_InitialParticleDecayFromStepIndex(int locDecayFromStepIndex)
signed char Get_InitialParticleDecayFromStepIndex(void) const
bool Get_ConstrainDecayingMassFlag(void) const
void Add_InitialParticle(const shared_ptr< DKinFitParticle > &locInitialParticle)
vector< shared_ptr< DKinFitParticle > > Get_FinalParticles(void) const
void Set_FinalParticle(const shared_ptr< DKinFitParticle > &locFinalParticle, size_t locIndex)
vector< shared_ptr< DKinFitParticle > > Get_InitialParticles(void) const
void Set_ConstrainDecayingMassFlag(bool locConstrainDecayingMassFlag)
void Set_InitialParticle(const shared_ptr< DKinFitParticle > &locInitialParticle, size_t locIndex)
void Print_InfoToScreen(void) const
void Add_FinalParticle(const shared_ptr< DKinFitParticle > &locFinalParticle)
vector< shared_ptr< DKinFitParticle > > Get_AllParticles(void) const
shared_ptr< DKinFitParticle > Get_FinalParticle(size_t locIndex) const