YAP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Friends | List of all members
ZemachSpinAmplitude Class Reference

Class implementing Zemach tensors. More...

#include <ZemachFormalism.h>

Inheritance diagram for ZemachSpinAmplitude:
SpinAmplitude StaticDataAccessor DataAccessor

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
 
- Public Member Functions inherited from SpinAmplitude
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
 
- Public Member Functions inherited from StaticDataAccessor
 StaticDataAccessor (Model &m, const ParticleCombinationEqualTo &equal)
 
const Modelmodel () 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

 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
 
- Protected Member Functions inherited from SpinAmplitude
 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 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

- Public Types inherited from SpinAmplitude
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 Attributes inherited from DataAccessor
friend Model
 grant friend status to Model to access CachedValues_
 
friend CachedValue
 grant friend status to CachedValue to call addCachedValue
 

Detailed Description

Class implementing Zemach tensors.

Author
Johannes Rauch, Daniel Greenwald

Constructor & Destructor Documentation

ZemachSpinAmplitude ( Model m,
unsigned  two_J,
const SpinVector &  two_j,
unsigned  l,
unsigned  two_s 
)
protected

Constructor

Parameters
mOwning model
two_Jtwice the spin of initial state
two_jSpinVector of daughters
lorbital angular momentum
two_stwice the total spin angular momentum

Member Function Documentation

const std::complex< double > amplitude ( const DataPoint d,
const std::shared_ptr< ParticleCombination > &  pc,
int  two_M,
const SpinProjectionVector &  two_m 
) const
overridevirtual
Returns
precalculated complex amplitude
Parameters
dDataPoint to retrieve value from
pcParticleCombination to retrieve value for
two_M2 * spin projection of parent
two_mSpinProjectionVector of daughters

Reimplemented from SpinAmplitude.

const std::complex< double > calc ( int  two_M,
const SpinProjectionVector &  two_m,
const DataPoint d,
const std::shared_ptr< ParticleCombination > &  pc 
) const
overridevirtual

Calculate spin amplitude for given ParticleCombination and spin projections

Parameters
two_M2 * spin projection of parent
two_m2SpinProjectionVector of daughters
dDataPoint to retrieve data from for calculation
pcParticleCombination to calculate for

Implements SpinAmplitude.

virtual void calculate ( DataPoint d,
StatusManager sm 
) const
inlineoverridevirtual

Overrides SpinAmplitude::calculate to do nothing if twoS() == 0

Parameters
dDataPoint to calculate into
smStatusManager to update

Reimplemented from SpinAmplitude.

virtual std::string formalism ( ) const
inlineoverridevirtual
Returns
"Zemach formalism"

Implements SpinAmplitude.


The documentation for this class was generated from the following files: