21 #ifndef yap_ZemachFormalism_h
22 #define yap_ZemachFormalism_h
24 #include "fwd/DataPoint.h"
25 #include "fwd/Model.h"
26 #include "fwd/ParticleCombination.h"
61 virtual const std::complex<double>
amplitude(
const DataPoint& d,
const std::shared_ptr<ParticleCombination>& pc,
62 int two_M,
const SpinProjectionVector& two_m)
const override;
75 virtual const std::complex<double>
calc(
int two_M,
const SpinProjectionVector& two_m,
76 const DataPoint& d,
const std::shared_ptr<ParticleCombination>& pc)
const override;
84 {
return "Zemach formalism"; }
115 virtual std::shared_ptr<SpinAmplitude>
create(
Model& m,
unsigned two_J,
const SpinVector& two_j,
unsigned l,
unsigned two_s)
const override
116 {
return std::shared_ptr<SpinAmplitude>(
new ZemachSpinAmplitude(m, two_J, two_j, l, two_s)); }
Class implementing Zemach tensors.
Definition: ZemachFormalism.h:42
const unsigned twoS() const
Definition: SpinAmplitude.h:90
virtual void calculate(DataPoint &d, StatusManager &sm) const override
Definition: SpinAmplitude.cxx:29
virtual void calculate(DataPoint &d, StatusManager &sm) const override
Definition: ZemachFormalism.h:67
virtual bool equals(const SpinAmplitude &other) const override
check equality
Definition: ZemachFormalism.h:79
Class for holding data and cached values per data point for fast calculation.
Definition: DataPoint.h:35
virtual std::string formalism() const override
Definition: ZemachFormalism.h:83
Caches SpinAmplitudes.
Definition: SpinAmplitudeCache.h:39
Definition: StatusManager.h:32
Class implementing a PWA model.
Definition: Model.h:56
virtual bool equals(const SpinAmplitude &other) const
check equality: calls equalTo and checks symmetrizationIndices
Definition: SpinAmplitude.cxx:113
virtual void addParticleCombination(std::shared_ptr< ParticleCombination > pc) override
call SpinAmplitude::addParticleCombination only if pc has more than 2 indices
Definition: ZemachFormalism.cxx:108
virtual const std::complex< double > calc(int two_M, const SpinProjectionVector &two_m, const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc) const override
Definition: ZemachFormalism.cxx:121
virtual const std::complex< double > amplitude(const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc, int two_M, const SpinProjectionVector &two_m) const override
Definition: ZemachFormalism.cxx:114
ZemachSpinAmplitude(Model &m, unsigned two_J, const SpinVector &two_j, unsigned l, unsigned two_s)
Definition: ZemachFormalism.cxx:57
Abstract base class implementing a spin amplitude.
Definition: SpinAmplitude.h:46