|
YAP
|
Abstract base class implementing a spin amplitude. More...
#include <SpinAmplitude.h>
Public Types | |
| using | AmplitudeSubmap = std::map< SpinProjectionVector, std::shared_ptr< ComplexCachedValue > > |
| maps SpinProjectionVector to ComplexCachedValue | |
| using | AmplitudeMap = std::map< int, AmplitudeSubmap > |
| maps parent spin projectin to AmplitudeSubmap | |
Public Member Functions | |
| virtual | operator std::string () const |
| cast into string | |
| virtual const std::complex < double > | calc (int two_M, const SpinProjectionVector &two_m, const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc) const =0 |
| virtual void | calculate (DataPoint &d, StatusManager &sm) const override |
| virtual const std::complex < double > | amplitude (const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc, int two_M, const SpinProjectionVector &two_m) const |
| bool | equalTo (const SpinAmplitude &other) const |
| check equivalence: only check spins and angular momenta | |
| virtual bool | equals (const SpinAmplitude &other) const |
| check equality: calls equalTo and checks symmetrizationIndices | |
| virtual std::string | formalism () const =0 |
Getters | |
| const unsigned | initialTwoJ () const |
| const SpinVector & | finalTwoJ () const |
| const unsigned | L () const |
| const unsigned | twoS () const |
| const std::set< int > | twoM () const |
| const std::set < SpinProjectionVector > | twoM (int two_M) const |
Public Member Functions inherited from StaticDataAccessor | |
| StaticDataAccessor (Model &m, const ParticleCombinationEqualTo &equal) | |
| const Model * | model () const override |
Public Member Functions inherited from DataAccessor | |
| DataAccessor (const ParticleCombinationEqualTo &equal) | |
| const ParticleCombinationEqualTo & | equal () const |
| int | index () const |
| unsigned | symmetrizationIndex (const std::shared_ptr< ParticleCombination > &c) const |
| const ParticleCombinationMap < unsigned > & | symmetrizationIndices () const |
| const unsigned | nSymmetrizationIndices () const |
| void | printParticleCombinations () const |
| print ParticleCombination map | |
| const CachedValueSet & | CachedValues () const |
| const unsigned | size () const |
| const bool | requiresStorage () const |
| bool | consistent () const |
| Check consistency of object. | |
Protected Member Functions | |
| SpinAmplitude (Model &m, unsigned two_J, const SpinVector &two_j, unsigned l, unsigned two_s, const ParticleCombinationEqualTo &equal) | |
| void | addAmplitude (int two_M, const SpinProjectionVector &two_m, bool store_null=false) |
Protected Member Functions inherited from StaticDataAccessor | |
| virtual void | registerWithModel () override |
| register with Model | |
| virtual void | addToStaticDataAccessors () |
| add to model's StaticDataAccessors_ | |
| StaticDataAccessorVector & | staticDataAccessors () |
| access to the model's StaticDataAccessors_ | |
Protected Member Functions inherited from DataAccessor | |
| void | addCachedValue (std::shared_ptr< CachedValue > c) |
| add CachedValue | |
| virtual void | addParticleCombination (std::shared_ptr< ParticleCombination > pc) |
| add ParticleCombination to SymmetrizationIndices_ | |
| virtual void | pruneSymmetrizationIndices () |
| prune SymmetrizationIndices_ to only contain ParticleCombination's tracing back up the ISP | |
| void | setIndex (size_t i) |
| set storage index used in DataPoint. Must be unique. | |
Private Attributes | |
| unsigned | InitialTwoJ_ |
| Initial-state spin * 2. | |
| SpinVector | FinalTwoJ_ |
| SpinVector of daughters. | |
| unsigned | L_ |
| orbital angular momentum | |
| unsigned | TwoS_ |
| twice the total spin angular momentum | |
| AmplitudeMap | Amplitudes_ |
| Cached complex spin amplitude. | |
Friends | |
| class | DecayChannel |
| grant friend access to DecayChannel to call addParticleCombination | |
| bool | operator== (const SpinAmplitude &A, const SpinAmplitude &B) |
| equality operator | |
Additional Inherited Members | |
Public Attributes inherited from DataAccessor | |
| friend | Model |
| grant friend status to Model to access CachedValues_ | |
| friend | CachedValue |
| grant friend status to CachedValue to call addCachedValue | |
Abstract base class implementing a spin amplitude.
|
protected |
Constructor; declared protected to ensure SpinAmplitude's are only created by a SpinAmplitudeCache
| m | Owning Model |
| two_J | twice the spin of Initial-state |
| two_j | SpinVector of daughters |
| l | orbital angular momentum |
| two_s | twice the total spin angular momentum |
| equal | ParticleCombination equality struct for determining index assignments |
|
protected |
add spin amplitude for transition from state with initial projection to states with final projections.
| two_M | twice the spin projection of the initial state |
| two_m | SpinProjectionVector of daughters |
| store_null | store a NULL CachedValue shared_pointer (set true for use from UnitSpinAmplitude) |
|
inlinevirtual |
| d | DataPoint to retrieve value from |
| pc | ParticleCombination to retrieve value for |
| two_M | 2 * spin projection of parent |
| two_m | SpinProjectionVector of daughters |
Reimplemented in HelicitySpinAmplitude, ZemachSpinAmplitude, and UnitSpinAmplitude.
|
pure virtual |
Calculate spin amplitude for caching. Must be overrided in derived classes.
| two_M | 2 * spin projection of parent |
| two_m | SpinProjectionVector of daughters |
| d | DataPoint to retrieve data from for calculation |
| pc | ParticleCombination to calculate for |
Implemented in HelicitySpinAmplitude, ZemachSpinAmplitude, and UnitSpinAmplitude.
|
overridevirtual |
Loops over particle combinations (pc) and all (M, vec{m}) combinations and call calc(M, {m}, d, pc) when necessary
| d | DataPoint to calculate into |
| sm | StatusManager to update |
Implements StaticDataAccessor.
Reimplemented in HelicitySpinAmplitude, and ZemachSpinAmplitude.
|
inline |
|
pure virtual |
Implemented in HelicitySpinAmplitude, ZemachSpinAmplitude, and UnitSpinAmplitude.
|
inline |
|
inline |
| const std::set< int > twoM | ( | ) | const |
| const std::set< SpinProjectionVector > twoM | ( | int | two_M | ) | const |
|
inline |
1.8.6