OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
Classes | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
TimeDependenceCache Class Reference

#include <TimeDependenceCache.h>

Collaboration diagram for TimeDependenceCache:
Collaboration graph
[legend]

Classes

struct  Item
 

Public Member Functions

void setTimeDependence (AbstractTimeDependence *timeDependence)
 
double getValue (double time)
 
double getIntegral (double time)
 
void reset ()
 
size_t getHead () const
 
std::array< Item, CacheSize >::iterator find (double time)
 
std::array< Item, CacheSize >::iterator begin ()
 
std::array< Item, CacheSize >::iterator end ()
 

Static Public Attributes

static constexpr size_t CacheSize = 6
 

Private Member Functions

const ItemplaceInCache (double time)
 

Private Attributes

AbstractTimeDependencetimeDependence_m {}
 
std::array< Item, CacheSizecache_m {}
 
size_t head_m {}
 

Detailed Description

Definition at line 29 of file TimeDependenceCache.h.

Member Function Documentation

◆ begin()

std::array< Item, CacheSize >::iterator TimeDependenceCache::begin ( )
inline

Definition at line 45 of file TimeDependenceCache.h.

References cache_m.

◆ end()

std::array< Item, CacheSize >::iterator TimeDependenceCache::end ( )
inline

Definition at line 46 of file TimeDependenceCache.h.

References cache_m.

◆ find()

std::array< TimeDependenceCache::Item, TimeDependenceCache::CacheSize >::iterator TimeDependenceCache::find ( double  time)

Definition at line 38 of file TimeDependenceCache.cpp.

References cache_m.

Referenced by getIntegral(), and getValue().

◆ getHead()

size_t TimeDependenceCache::getHead ( ) const
inline

Definition at line 43 of file TimeDependenceCache.h.

References head_m.

◆ getIntegral()

double TimeDependenceCache::getIntegral ( double  time)

Definition at line 56 of file TimeDependenceCache.cpp.

References cache_m, find(), TimeDependenceCache::Item::integral_m, placeInCache(), and timeDependence_m.

Referenced by VariableRFCavity::apply().

Here is the call graph for this function:

◆ getValue()

double TimeDependenceCache::getValue ( double  time)

Definition at line 44 of file TimeDependenceCache.cpp.

References cache_m, find(), placeInCache(), timeDependence_m, and TimeDependenceCache::Item::value_m.

Here is the call graph for this function:

◆ placeInCache()

const TimeDependenceCache::Item & TimeDependenceCache::placeInCache ( double  time)
private

◆ reset()

void TimeDependenceCache::reset ( )

Definition at line 25 of file TimeDependenceCache.cpp.

References cache_m, AbstractTimeDependence::getIntegral(), AbstractTimeDependence::getValue(), head_m, and timeDependence_m.

Referenced by setTimeDependence().

Here is the call graph for this function:

◆ setTimeDependence()

void TimeDependenceCache::setTimeDependence ( AbstractTimeDependence timeDependence)

Definition at line 20 of file TimeDependenceCache.cpp.

References reset(), and timeDependence_m.

Referenced by VariableRFCavity::setFrequencyModel().

Here is the call graph for this function:

Member Data Documentation

◆ cache_m

std::array<Item, CacheSize> TimeDependenceCache::cache_m {}
private

Definition at line 51 of file TimeDependenceCache.h.

Referenced by begin(), end(), find(), getIntegral(), getValue(), placeInCache(), and reset().

◆ CacheSize

constexpr size_t TimeDependenceCache::CacheSize = 6
staticconstexpr

Definition at line 31 of file TimeDependenceCache.h.

Referenced by placeInCache().

◆ head_m

size_t TimeDependenceCache::head_m {}
private

Definition at line 52 of file TimeDependenceCache.h.

Referenced by getHead(), placeInCache(), and reset().

◆ timeDependence_m

AbstractTimeDependence* TimeDependenceCache::timeDependence_m {}
private

Definition at line 49 of file TimeDependenceCache.h.

Referenced by getIntegral(), getValue(), placeInCache(), reset(), and setTimeDependence().


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