21 #ifndef yap_MeasuredBreakupMomenta_h
22 #define yap_MeasuredBreakupMomenta_h
24 #include "fwd/CachedValue.h"
25 #include "fwd/Model.h"
26 #include "fwd/ParticleCombination.h"
27 #include "fwd/StatusManager.h"
57 double q2(
const DataPoint& d,
const std::shared_ptr<ParticleCombination>& pc)
const;
62 double q(
const DataPoint& d,
const std::shared_ptr<ParticleCombination>& pc)
const
63 {
return sqrt(
q2(d, pc)); }
68 double rho(
const DataPoint& d,
const std::shared_ptr<ParticleCombination>& pc)
const;
93 std::shared_ptr<RealCachedValue>
Q2_;
105 m2_R / 4. - m_a * m_a
107 (m2_R - pow(m_a + m_b, 2)) * (m2_R - pow(m_a - m_b, 2)) / m2_R / 4.;
Calculates, stores and gives access to breakup momenta (using measured masses)
Definition: MeasuredBreakupMomenta.h:41
std::shared_ptr< RealCachedValue > breakupMomenta()
Definition: MeasuredBreakupMomenta.h:71
constexpr double squared_breakup_momentum(double m2_R, double m_a, double m_b)
Definition: MeasuredBreakupMomenta.h:101
MeasuredBreakupMomenta(Model &m)
Definition: MeasuredBreakupMomenta.cxx:14
Class for holding data and cached values per data point for fast calculation.
Definition: DataPoint.h:35
Base class for all data accessors that will only write to DataPoint once at initial data loading...
Definition: StaticDataAccessor.h:36
double rho(const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc) const
Definition: MeasuredBreakupMomenta.cxx:39
Definition: StatusManager.h:32
Class implementing a PWA model.
Definition: Model.h:56
virtual void addToStaticDataAccessors() override
add to model's StaticDataAccessors_
Definition: MeasuredBreakupMomenta.cxx:22
double q2(const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc) const
Definition: MeasuredBreakupMomenta.cxx:33
virtual void calculate(DataPoint &d, StatusManager &sm) const override
Definition: MeasuredBreakupMomenta.cxx:45
Abstract base class for all objects accessing DataPoint's.
Definition: DataAccessor.h:38
std::shared_ptr< RealCachedValue > breakupMomenta() const
Definition: MeasuredBreakupMomenta.h:75
void addParticleCombination(std::shared_ptr< ParticleCombination > pc) override
override to throw on adding final-state PC or more-than-two-body PC
Definition: MeasuredBreakupMomenta.cxx:70
std::shared_ptr< RealCachedValue > Q2_
squared breakup momentum [GeV^2]
Definition: MeasuredBreakupMomenta.h:93
double q(const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc) const
Definition: MeasuredBreakupMomenta.h:62