25 shared_ptr<const DKinFitChainStep> Get_KinFitChainStep(
size_t locStepIndex)
const;
26 void Add_KinFitChainStep(
const shared_ptr<DKinFitChainStep>& locKinFitChainStep){dKinFitChainSteps.push_back(locKinFitChainStep);}
30 vector<shared_ptr<DKinFitParticle>> Get_AllParticles(
void)
const;
35 signed char Get_DecayStepIndex(
const shared_ptr<DKinFitParticle>& locKinFitParticle)
const;
40 void Set_DecayStepIndex(
const shared_ptr<DKinFitParticle>& locKinFitParticle,
int locDecayStepIndex){dDecayStepIndices[locKinFitParticle] = locDecayStepIndex;}
43 void Print_InfoToScreen(
void)
const;
49 signed char dDefinedParticleStepIndex = -1;
50 bool dIsInclusiveChannelFlag =
false;
55 dDefinedParticleStepIndex = -1;
56 dIsInclusiveChannelFlag =
false;
57 dKinFitChainSteps.clear();
58 dDecayStepIndices.clear();
63 dKinFitChainSteps.clear();
64 dDecayStepIndices.clear();
69 auto locIterator = dDecayStepIndices.find(locKinFitParticle);
70 return ((locIterator != dDecayStepIndices.end()) ? locIterator->second : -1);
75 return ((locStepIndex < dKinFitChainSteps.size()) ? std::const_pointer_cast<const DKinFitChainStep>(dKinFitChainSteps[locStepIndex]) :
nullptr);
80 vector<shared_ptr<DKinFitParticle>> locAllParticles;
81 for(
size_t loc_i = 0; loc_i < dKinFitChainSteps.size(); ++loc_i)
83 auto locStepParticles = dKinFitChainSteps[loc_i]->Get_AllParticles();
84 locAllParticles.insert(locAllParticles.end(), locStepParticles.begin(), locStepParticles.end());
86 return locAllParticles;
91 for(
size_t loc_i = 0; loc_i < dKinFitChainSteps.size(); ++loc_i)
93 cout <<
"DKinFitChain: Printing step " << loc_i << endl;
94 dKinFitChainSteps[loc_i]->Print_InfoToScreen();
97 cout <<
"DKinFitChain: PID, Pointer, decay-step indices:" << endl;
98 auto locIterator = dDecayStepIndices.begin();
99 for(; locIterator != dDecayStepIndices.end(); ++locIterator)
100 cout << locIterator->first->Get_PID() <<
", " << locIterator->first <<
", " << int(locIterator->second) << endl;
102 cout <<
"DKinFitChain: defined particle step index, inclusive channel flag = " << int(dDefinedParticleStepIndex) <<
", " << dIsInclusiveChannelFlag << endl;
105 #endif // _DKinFitChain_
signed char Get_DefinedParticleStepIndex(void) const
size_t Get_NumKinFitChainSteps(void) const
vector< shared_ptr< DKinFitChainStep > > dKinFitChainSteps
vector< shared_ptr< DKinFitParticle > > Get_AllParticles(void) const
shared_ptr< const DKinFitChainStep > Get_KinFitChainStep(size_t locStepIndex) const
void Set_IsInclusiveChannelFlag(bool locIsInclusiveChannelFlag)
signed char Get_DecayStepIndex(const shared_ptr< DKinFitParticle > &locKinFitParticle) const
void Add_KinFitChainStep(const shared_ptr< DKinFitChainStep > &locKinFitChainStep)
map< shared_ptr< DKinFitParticle >, char > dDecayStepIndices
bool Get_IsInclusiveChannelFlag(void) const
void Set_DecayStepIndex(const shared_ptr< DKinFitParticle > &locKinFitParticle, int locDecayStepIndex)
int Get_DecayStepIndex(const DReaction *locReaction, size_t locStepIndex, size_t locParticleIndex)
void Print_InfoToScreen(void) const
void Set_DefinedParticleStepIndex(signed char locDefinedParticleStepIndex)