|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
|
#include <IndexMap.h>
Classes | |
| struct | Range |
| class | OutOfBounds |
| class | myCompare |
Public Types | |
| typedef Range | key_t |
| typedef std::set< std::shared_ptr< Component > > | value_t |
Public Member Functions | |
| IndexMap () | |
| void | add (key_t::first_type initialStep, key_t::second_type finalStep, const value_t &val) |
| value_t | query (key_t::first_type s, key_t::second_type ds) |
| void | tidyUp (double zstop) |
| void | print (std::ostream &) const |
| void | saveSDDS (double startS) const |
| size_t | size () const |
| size_t | numElements () const |
| key_t | getRange (const IndexMap::value_t::value_type &element, double position) const |
| value_t | getTouchingElements (const key_t &range) const |
Private Types | |
| typedef std::map< key_t, value_t, myCompare > | map_t |
| typedef std::multimap< value_t::value_type, key_t > | invertedMap_t |
Static Private Member Functions | |
| static bool | almostEqual (double, double) |
Private Attributes | |
| map_t | mapRange2Element_m |
| invertedMap_t | mapElement2Range_m |
| double | totalPathLength_m |
Static Private Attributes | |
| static const double | oneMinusEpsilon_m = 1.0 - std::numeric_limits<double>::epsilon() |
Definition at line 36 of file IndexMap.h.
| struct IndexMap::Range |
Definition at line 39 of file IndexMap.h.
| Class Members | ||
|---|---|---|
| typedef double | first_type | |
| typedef double | second_type | |
| Class Members | ||
|---|---|---|
| first_type | begin | |
| second_type | end | |
|
private |
Definition at line 95 of file IndexMap.h.
| typedef Range IndexMap::key_t |
Definition at line 46 of file IndexMap.h.
|
private |
Definition at line 94 of file IndexMap.h.
| typedef std::set<std::shared_ptr<Component> > IndexMap::value_t |
Definition at line 47 of file IndexMap.h.
| IndexMap::IndexMap | ( | ) |
Definition at line 43 of file IndexMap.cpp.
References mapElement2Range_m, mapRange2Element_m, and totalPathLength_m.
| void IndexMap::add | ( | key_t::first_type | initialStep, |
| key_t::second_type | finalStep, | ||
| const value_t & | val ) |
Definition at line 112 of file IndexMap.cpp.
References almostEqual(), IndexMap::Range::begin, IndexMap::Range::end, mapElement2Range_m, mapRange2Element_m, oneMinusEpsilon_m, and totalPathLength_m.
|
staticprivate |
Definition at line 391 of file IndexMap.cpp.
Referenced by add(), and getTouchingElements().
| IndexMap::key_t IndexMap::getRange | ( | const IndexMap::value_t::value_type & | element, |
| double | position ) const |
Definition at line 356 of file IndexMap.cpp.
References mapElement2Range_m.
| IndexMap::value_t IndexMap::getTouchingElements | ( | const key_t & | range | ) | const |
Definition at line 377 of file IndexMap.cpp.
References almostEqual(), IndexMap::Range::begin, end(), IndexMap::Range::end, and mapRange2Element_m.
| size_t IndexMap::numElements | ( | ) | const |
| void IndexMap::print | ( | std::ostream & | out | ) | const |
Definition at line 49 of file IndexMap.cpp.
References IndexMap::Range::begin, IndexMap::Range::end, and mapRange2Element_m.
| IndexMap::value_t IndexMap::query | ( | key_t::first_type | s, |
| key_t::second_type | ds ) |
Definition at line 75 of file IndexMap.cpp.
References end(), mapRange2Element_m, and totalPathLength_m.
| void IndexMap::saveSDDS | ( | double | startS | ) | const |
Definition at line 176 of file IndexMap.cpp.
References Util::combineFilePath(), end(), OpalData::getAuxiliaryOutputDirectory(), OpalData::getInputBasename(), OpalData::getInstance(), mapElement2Range_m, mapRange2Element_m, RFCAVITY, SIZE, and TRAVELINGWAVE.
|
inline |
Definition at line 106 of file IndexMap.h.
References mapRange2Element_m.
| void IndexMap::tidyUp | ( | double | zstop | ) |
Definition at line 147 of file IndexMap.cpp.
References mapRange2Element_m.
|
private |
Definition at line 97 of file IndexMap.h.
Referenced by add(), getRange(), IndexMap(), and saveSDDS().
|
private |
Definition at line 96 of file IndexMap.h.
Referenced by add(), getTouchingElements(), IndexMap(), print(), query(), saveSDDS(), size(), and tidyUp().
|
staticprivate |
Definition at line 102 of file IndexMap.h.
Referenced by add().
|
private |
Definition at line 99 of file IndexMap.h.
Referenced by add(), IndexMap(), and query().