YAP
|
Class implementing Zemach tensors. More...
#include <ZemachFormalism.h>
Public Member Functions | |
virtual const std::complex < double > | amplitude (const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc, int two_M, const SpinProjectionVector &two_m) const override |
virtual void | calculate (DataPoint &d, StatusManager &sm) const override |
virtual const std::complex < double > | calc (int two_M, const SpinProjectionVector &two_m, const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc) const override |
virtual bool | equals (const SpinAmplitude &other) const override |
check equality | |
virtual std::string | formalism () const override |
![]() | |
virtual | operator std::string () const |
cast into string | |
bool | equalTo (const SpinAmplitude &other) const |
check equivalence: only check spins and angular momenta | |
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 |
![]() | |
StaticDataAccessor (Model &m, const ParticleCombinationEqualTo &equal) | |
const Model * | model () const override |
![]() | |
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 | |
ZemachSpinAmplitude (Model &m, unsigned two_J, const SpinVector &two_j, unsigned l, unsigned two_s) | |
virtual void | addParticleCombination (std::shared_ptr< ParticleCombination > pc) override |
call SpinAmplitude::addParticleCombination only if pc has more than 2 indices | |
![]() | |
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) |
![]() | |
virtual void | registerWithModel () override |
register with Model | |
virtual void | addToStaticDataAccessors () |
add to model's StaticDataAccessors_ | |
StaticDataAccessorVector & | staticDataAccessors () |
access to the model's StaticDataAccessors_ | |
![]() | |
void | addCachedValue (std::shared_ptr< CachedValue > c) |
add CachedValue | |
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. | |
Friends | |
class | ZemachFormalism |
grant SpinAmplitudeCache friend status to call constructor | |
Additional Inherited Members | |
![]() | |
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 | |
![]() | |
friend | Model |
grant friend status to Model to access CachedValues_ | |
friend | CachedValue |
grant friend status to CachedValue to call addCachedValue | |
Class implementing Zemach tensors.
|
protected |
Constructor
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 |
|
overridevirtual |
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 from SpinAmplitude.
|
overridevirtual |
Calculate spin amplitude for given ParticleCombination and spin projections
two_M | 2 * spin projection of parent |
two_m2 | SpinProjectionVector of daughters |
d | DataPoint to retrieve data from for calculation |
pc | ParticleCombination to calculate for |
Implements SpinAmplitude.
|
inlineoverridevirtual |
Overrides SpinAmplitude::calculate to do nothing if twoS() == 0
d | DataPoint to calculate into |
sm | StatusManager to update |
Reimplemented from SpinAmplitude.
|
inlineoverridevirtual |
Implements SpinAmplitude.