21 #ifndef yap_DecayTree_h
22 #define yap_DecayTree_h
24 #include "fwd/DecayTree.h"
26 #include "fwd/AmplitudeComponent.h"
27 #include "fwd/DataPoint.h"
28 #include "fwd/DecayChannel.h"
29 #include "fwd/FreeAmplitude.h"
30 #include "fwd/Model.h"
31 #include "fwd/ParticleCombination.h"
33 #include "fwd/SpinAmplitude.h"
34 #include "fwd/StatusManager.h"
35 #include "fwd/VariableStatus.h"
61 explicit DecayTree(std::shared_ptr<FreeAmplitude> free_amp);
137 std::string
to_string(
const DecayTreeVector& dtv);
144 unsigned depth(
const DecayTree& DT);
162 const std::complex<double>
amplitude(
const DecayTreeVector& dtv,
const DataPoint& d);
177 const bool has_changed(
const std::shared_ptr<DecayTree>& dt);
const std::complex< double > amplitude(const DecayTree &dt, const DataPoint &d)
Definition: DecayTree.h:149
const Model * model() const
Definition: DecayTree.cxx:42
bool operator==(const CachedValue::Status &S, const CalculationStatus &s)
equality operator for checking the CalculationStatus
Definition: CachedValue.h:153
std::vector< const AmplitudeComponent * > AmplitudeComponents_
vector of AmplitudeComponent's
Definition: DecayTree.h:126
DecayTree(std::shared_ptr< FreeAmplitude > free_amp)
Definition: DecayTree.cxx:22
VariableStatus
Definition: VariableStatus.h:29
Class holding vectors of fixed and free amplitudes that define a decay tree.
Definition: DecayTree.h:49
DaughterDecayTreeMap DaughterDecayTrees_
map of daughter index -> daughter DecayTree
Definition: DecayTree.h:129
Definition: AmplitudeComponent.h:41
Class for holding data and cached values per data point for fast calculation.
Definition: DataPoint.h:35
unsigned depth(const DecayTree &DT)
Definition: DecayTree.cxx:203
void addAmplitudeComponent(const AmplitudeComponent &rda)
Add an AmplitudeComponent.
Definition: DecayTree.cxx:148
const DecayTreeVector select_changed(const DecayTreeVector &dtv)
Definition: DecayTree.cxx:218
const bool has_changed(const std::shared_ptr< DecayTree > &dt)
Definition: DecayTree.cxx:212
void setDaughterSpinProjection(unsigned i, int two_m)
Definition: DecayTree.h:111
Class implementing a PWA model.
Definition: Model.h:56
const VariableStatus dataDependentAmplitudeStatus() const
Definition: DecayTree.cxx:106
const double intensity(const DecayTreeVector &dtv, const DataPoint &d)
Definition: DecayTree.h:167
const std::complex< double > dataIndependentAmplitude() const
Definition: DecayTree.cxx:121
FreeAmplitudeSet free_amplitudes(const DecayingParticle &dp)
Definition: DecayingParticle.cxx:377
std::shared_ptr< DecayingParticle > decayingParticle() const
Definition: DecayTree.cxx:162
const std::complex< double > dataDependentAmplitude(const DataPoint &d) const
Definition: DecayTree.cxx:79
const std::shared_ptr< FreeAmplitude > & freeAmplitude() const
Definition: DecayTree.h:80
std::string to_string(const CachedValue::Status &S)
streaming operator for CachedValue::Status
Definition: CachedValue.cxx:27
SpinProjectionVector DaughtersTwoM_
daughter spin projections
Definition: DecayTree.h:123
Definition: DecayingParticle.h:51
Class for a particle that will decay and has a mass shape.
Definition: Resonance.h:47
std::shared_ptr< FreeAmplitude > FreeAmplitude_
ComplexParameter of the free amplitude for the decay.
Definition: DecayTree.h:120
std::map< unsigned, std::shared_ptr< DecayTree > > DaughterDecayTreeMap
Definition: DecayTree.h:55
const DaughterDecayTreeMap daughterDecayTrees() const
Definition: DecayTree.h:84
void setDaughterDecayTree(unsigned i, std::shared_ptr< DecayTree > dt)
Definition: DecayTree.cxx:132
Class implementing a decay channel.
Definition: DecayChannel.h:40