|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
|
#include <IndexMap.h>

Classes | |
| class | myCompare |
| class | OutOfBounds |
| struct | Range |
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 |
| const ReferencePathModel & | getReferencePathModel () 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 |
Private Member Functions | |
| void | rebuildReferencePathModel () const |
Static Private Member Functions | |
| static bool | almostEqual (double, double) |
Private Attributes | |
| map_t | mapRange2Element_m |
| invertedMap_t | mapElement2Range_m |
| ReferencePathModel | referencePathModel_m |
| bool | referencePathModelDirty_m |
| double | totalPathLength_m |
Static Private Attributes | |
| static const double | oneMinusEpsilon_m = 1.0 - std::numeric_limits<double>::epsilon() |
Definition at line 37 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 92 of file IndexMap.h.
| typedef Range IndexMap::key_t |
Definition at line 45 of file IndexMap.h.
|
private |
Definition at line 91 of file IndexMap.h.
| typedef std::set<std::shared_ptr<Component> > IndexMap::value_t |
Definition at line 46 of file IndexMap.h.
| IndexMap::IndexMap | ( | ) |
Definition at line 43 of file IndexMap.cpp.
| void IndexMap::add | ( | key_t::first_type | initialStep, |
| key_t::second_type | finalStep, | ||
| const value_t & | val | ||
| ) |
Definition at line 111 of file IndexMap.cpp.
References almostEqual(), IndexMap::Range::end, mapElement2Range_m, mapRange2Element_m, oneMinusEpsilon_m, referencePathModelDirty_m, and totalPathLength_m.
Referenced by OrbitThreader::execute(), TEST(), and TEST_F().

|
staticprivate |
Definition at line 389 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 354 of file IndexMap.cpp.
References mapElement2Range_m.
Referenced by OrbitThreader::getRange().
|
inline |
Definition at line 107 of file IndexMap.h.
References rebuildReferencePathModel(), referencePathModel_m, and referencePathModelDirty_m.
Referenced by OrbitThreader::getReferencePathModel(), saveSDDS(), and TEST().

| IndexMap::value_t IndexMap::getTouchingElements | ( | const key_t & | range | ) | const |
Definition at line 376 of file IndexMap.cpp.
References almostEqual(), IndexMap::Range::begin, IndexMap::Range::end, and mapRange2Element_m.
Referenced by OrbitThreader::getTouchingElements().

| size_t IndexMap::numElements | ( | ) | const |
| void IndexMap::print | ( | std::ostream & | out | ) | const |
Definition at line 50 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 74 of file IndexMap.cpp.
References mapRange2Element_m, and totalPathLength_m.
Referenced by OrbitThreader::query().
|
private |
Definition at line 160 of file IndexMap.cpp.
References ReferencePathModel::addSegment(), ReferencePathModel::clear(), mapRange2Element_m, referencePathModel_m, and referencePathModelDirty_m.
Referenced by getReferencePathModel().

| void IndexMap::saveSDDS | ( | double | startS | ) | const |
Definition at line 182 of file IndexMap.cpp.
References Util::combineFilePath(), OpalData::getAuxiliaryOutputDirectory(), OpalData::getInputBasename(), OpalData::getInstance(), getReferencePathModel(), ReferencePathModel::getSegments(), mapElement2Range_m, mapRange2Element_m, RFCAVITY, SIZE, and TRAVELINGWAVE.
Referenced by OrbitThreader::execute(), and TEST_F().

|
inline |
Definition at line 105 of file IndexMap.h.
References mapRange2Element_m.
| void IndexMap::tidyUp | ( | double | zstop | ) |
Definition at line 147 of file IndexMap.cpp.
References IndexMap::Range::begin, mapRange2Element_m, and referencePathModelDirty_m.
Referenced by OrbitThreader::execute().
|
private |
Definition at line 94 of file IndexMap.h.
Referenced by add(), getRange(), and saveSDDS().
|
private |
Definition at line 93 of file IndexMap.h.
Referenced by add(), getTouchingElements(), print(), query(), rebuildReferencePathModel(), saveSDDS(), size(), and tidyUp().
|
staticprivate |
Definition at line 102 of file IndexMap.h.
Referenced by add().
|
mutableprivate |
Definition at line 95 of file IndexMap.h.
Referenced by getReferencePathModel(), and rebuildReferencePathModel().
|
mutableprivate |
Definition at line 96 of file IndexMap.h.
Referenced by add(), getReferencePathModel(), rebuildReferencePathModel(), and tidyUp().
|
private |
Definition at line 98 of file IndexMap.h.