11 std::vector<pid> InitialState_, std::vector<pid> FinalState_,
13 std::vector<unsigned int> FinalStateEventPositionMapping_)
14 : InitialState(InitialState_), FinalState(FinalState_),
15 ParticleList(ParticleList_), InitialStateP4(InitialStateP4_),
16 FinalStateEventPositionMapping(FinalStateEventPositionMapping_) {
28 std::vector<pid> InitialState_, std::vector<pid> FinalState_,
30 std::vector<unsigned int> FinalStateEventPositionMapping_)
32 InitialState_, FinalState_, ParticleList_,
34 if (InitialState_.size() == 1) {
35 double sqrtS =
findParticle(ParticleList_, InitialState_.at(0))
41 throw std::runtime_error(
42 "ParticleStateTransitionKinematicsInfo(): constructing the " 43 "info without a initial state four momentum is only possible " 44 "with a single particle initial state!");
47 FinalStateEventPositionMapping_) {}
51 unsigned int fs_id)
const {
53 auto result = std::find(fsepMapping.begin(), fsepMapping.end(), fs_id);
54 return std::distance(fsepMapping.begin(), result);
57 std::vector<unsigned int>
59 const std::vector<unsigned int> &fs_ids)
const {
60 std::vector<unsigned int> pos_indices;
61 pos_indices.reserve(fs_ids.size());
62 for (
auto fs_id : fs_ids) {
70 unsigned int pos)
const {
74 std::vector<unsigned int>
76 const std::vector<unsigned int> &pos)
const {
77 std::vector<unsigned int> fsids;
84 const std::vector<unsigned int> ids)
const {
95 std::vector<double> FinalStateMasses;
97 FinalStateMasses.push_back(
100 return FinalStateMasses;
119 std::map<unsigned int, std::string>
121 std::map<unsigned int, std::string> mapping;
122 for (
unsigned int i = 0; i <
FinalState.size(); ++i) {
135 outstream <<
")->( ";
136 for (
unsigned int i = 0; i < kininfo.
FinalState.size(); ++i)
142 outstream <<
"\nEvent position to final state ID mapping:\n";
std::vector< pid > FinalState
ComPWA four momentum class.
unsigned int convertFinalStateIDToPositionIndex(unsigned int fs_id) const
double calculateFinalStateIDMassSum(const std::vector< unsigned int > ids) const
unsigned int getFinalStateParticleCount() const
ComPWA::FourMomentum InitialStateP4
Four momentum of the initial particle reaction.
const ParticleProperties & findParticle(const ParticleList &list, pid Pid)
ParticleStateTransitionKinematicsInfo(std::vector< pid > InitialState_, std::vector< pid > FinalState_, ComPWA::ParticleList ParticleList_, ComPWA::FourMomentum InitialStateP4_, std::vector< unsigned int > FinalStateEventPositionMapping_)
std::map< unsigned int, std::string > getFinalStateIDToNameMapping() const
double getInitialStateInvariantMassSquared() const
std::vector< unsigned int > FinalStateEventPositionMapping
std::set< ParticleProperties > ParticleList
unsigned int convertPositionIndexToFinalStateID(unsigned int pos) const
std::vector< pid > InitialState
std::vector< double > getFinalStateMasses() const
std::string getName() const
friend std::ostream & operator<<(std::ostream &outstream, const ParticleStateTransitionKinematicsInfo &kininfo)
ComPWA::ParticleList ParticleList
ComPWA::FourMomentum getInitialStateFourMomentum() const
double invariantMassSquared() const