YAP
|
Caches HelicitySpinAmplitude's. More...
#include <HelicityFormalism.h>
Public Member Functions | |
HelicityFormalism () | |
Constructor. | |
![]() | |
SpinAmplitudeCache (Model *model=nullptr) | |
bool | equal (const std::shared_ptr< SpinAmplitude > &A, const std::shared_ptr< SpinAmplitude > &B) const override |
Equality. | |
weak_ptr_type | find (unsigned two_J, const SpinVector &two_j, unsigned L, unsigned two_S) const |
std::shared_ptr< SpinAmplitude > | spinAmplitude (unsigned two_J, const SpinVector &two_j, unsigned L, unsigned two_S) |
bool | consistent () const |
Check consistency of cache. Skips expired entries. | |
![]() | |
virtual bool | equal (const shared_ptr_type &A, const shared_ptr_type &B) const =0 |
override to implement equality checking | |
weak_ptr_type | find (shared_ptr_type t) const |
shared_ptr_type | operator[] (shared_ptr_type t) |
bool | empty () const |
size_t | size () const |
size_t | count_expired () const |
void | removeExpired () |
remove expired Cache_ elements | |
virtual std::ostream & | print (std::ostream &os) const |
stream the cache elements as a table | |
WeakPtrCache ()=default | |
Default constructor (defaulted) | |
WeakPtrCache (const WeakPtrCache &)=default | |
copy constructor (defaulted) | |
WeakPtrCache (WeakPtrCache &&)=default | |
move constructor (defaulted) | |
WeakPtrCache (std::vector< shared_ptr_type > V) | |
Construct cache from vector. | |
virtual | ~WeakPtrCache ()=default |
virtual desctructor (defaulted) | |
WeakPtrCache & | operator= (const WeakPtrCache &)=default |
copy assignment operator (defaulted) | |
WeakPtrCache & | operator= (WeakPtrCache &&)=default |
move assignment operator (defaulted) | |
cache_type::iterator | begin () |
cache_type::const_iterator | begin () const |
cache_type::iterator | end () |
cache_type::const_iterator | end () const |
Private Member Functions | |
virtual std::shared_ptr < SpinAmplitude > | create (Model &m, unsigned two_J, const SpinVector &two_j, unsigned l, unsigned two_s) const override |
Additional Inherited Members | |
![]() | |
using | type = SpinAmplitude |
object_type | |
using | shared_ptr_type = std::shared_ptr< SpinAmplitude > |
std::shared_ptr to T More... | |
using | weak_ptr_type = std::weak_ptr< SpinAmplitude > |
std::weak_ptr to T More... | |
using | cache_type = std::set< weak_ptr_type, std::owner_less< weak_ptr_type > > |
A std::set of weak_ptr_type. More... | |
![]() | |
void | setModel (Model &model) |
set raw pointer to owning Model | |
std::shared_ptr< SpinAmplitude > | unit (Model &m, unsigned two_J, const SpinVector &two_j, unsigned L, unsigned two_S) const |
![]() | |
virtual void | addToCache (shared_ptr_type t) |
add element to cache | |
Caches HelicitySpinAmplitude's.
|
inlineoverrideprivatevirtual |
override in inherting classes
m | Owning model |
two_J | twice the spin of initial state |
two_j | SpinVector for daughters |
L | orbital angular momentum |
two_S | 2 * the total spin angular momentum |
Implements SpinAmplitudeCache.