ComPWA
Common Partial-Wave-Analysis Framework
ParticleStateTransitionKinematicsInfo.hpp
Go to the documentation of this file.
1 // Copyright (c) 2015, 2017 The ComPWA Team.
2 // This file is part of the ComPWA framework, check
3 // https://github.com/ComPWA/ComPWA/license.txt for details.
4 
5 #ifndef COMPWA_PARTICLESTATETRANSITIONKINEMATICSINFO_HPP_
6 #define COMPWA_PARTICLESTATETRANSITIONKINEMATICSINFO_HPP_
7 
8 #include <map>
9 #include <string>
10 #include <vector>
11 
12 #include "Core/FourMomentum.hpp"
13 #include "Core/Properties.hpp"
14 
15 namespace ComPWA {
16 namespace Physics {
17 
19  std::vector<pid> InitialState;
20  std::vector<pid> FinalState;
24  // we use a vector instead of a map here, due to cache optimizations
25  std::vector<unsigned int> FinalStateEventPositionMapping;
26 
27 public:
29  std::vector<pid> InitialState_, std::vector<pid> FinalState_,
30  ComPWA::ParticleList ParticleList_, ComPWA::FourMomentum InitialStateP4_,
31  std::vector<unsigned int> FinalStateEventPositionMapping_);
32 
34  std::vector<pid> InitialState_, std::vector<pid> FinalState_,
35  ComPWA::ParticleList ParticleList_,
36  std::vector<unsigned int> FinalStateEventPositionMapping_);
37 
38  unsigned int convertFinalStateIDToPositionIndex(unsigned int fs_id) const;
39  std::vector<unsigned int> convertFinalStateIDToPositionIndex(
40  const std::vector<unsigned int> &fs_ids) const;
41 
42  unsigned int convertPositionIndexToFinalStateID(unsigned int pos) const;
43  std::vector<unsigned int> convertPositionIndexToFinalStateID(
44  const std::vector<unsigned int> &pos) const;
45 
46  double
47  calculateFinalStateIDMassSum(const std::vector<unsigned int> ids) const;
48 
49  std::vector<double> getFinalStateMasses() const;
52  unsigned int getFinalStateParticleCount() const;
53  std::map<unsigned int, std::string> getFinalStateIDToNameMapping() const;
54  const std::vector<pid> &getFinalStatePIDs() const { return FinalState; }
55 
56  friend std::ostream &
57  operator<<(std::ostream &outstream,
59 };
60 
61 } // namespace Physics
62 } // namespace ComPWA
63 
64 #endif
ComPWA four momentum class.
double calculateFinalStateIDMassSum(const std::vector< unsigned int > ids) const
ComPWA::FourMomentum InitialStateP4
Four momentum of the initial particle reaction.
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
std::set< ParticleProperties > ParticleList
Definition: Properties.hpp:84
friend std::ostream & operator<<(std::ostream &outstream, const ParticleStateTransitionKinematicsInfo &kininfo)