|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
|
#include <OpalBeamline.h>
Public Member Functions | |
| OpalBeamline () | |
| OpalBeamline (const Vector_t< double, 3 > &origin, const Quaternion &rotation) | |
| ~OpalBeamline () | |
| void | activateElements () |
| std::set< std::shared_ptr< Component > > | getElements (const Vector_t< double, 3 > &x) |
| Vector_t< double, 3 > | transformTo (const Vector_t< double, 3 > &r) const |
| Vector_t< double, 3 > | transformFrom (const Vector_t< double, 3 > &r) const |
| Vector_t< double, 3 > | rotateTo (const Vector_t< double, 3 > &r) const |
| Vector_t< double, 3 > | rotateFrom (const Vector_t< double, 3 > &r) const |
| Vector_t< double, 3 > | transformToLocalCS (const std::shared_ptr< Component > &comp, const Vector_t< double, 3 > &r) const |
| Vector_t< double, 3 > | transformFromLocalCS (const std::shared_ptr< Component > &comp, const Vector_t< double, 3 > &r) const |
| Vector_t< double, 3 > | rotateToLocalCS (const std::shared_ptr< Component > &comp, const Vector_t< double, 3 > &r) const |
| Vector_t< double, 3 > | rotateFromLocalCS (const std::shared_ptr< Component > &comp, const Vector_t< double, 3 > &r) const |
| CoordinateSystemTrafo | getCSTrafoLab2Local (const std::shared_ptr< Component > &comp) const |
| CoordinateSystemTrafo | getCSTrafoLab2Local () const |
| CoordinateSystemTrafo | getMisalignment (const std::shared_ptr< Component > &comp) const |
| double | getStart (const Vector_t< double, 3 > &) const |
| double | getEnd (const Vector_t< double, 3 > &) const |
| void | switchElements (const double &, const double &, const double &kineticEnergy, const bool &nomonitors=false) |
| void | switchElementsOff () |
| ParticleMatterInteractionHandler * | getParticleMatterInteractionHandler (const unsigned int &) |
| BoundaryGeometry * | getBoundaryGeometry (const unsigned int &) |
| unsigned long | getFieldAt (const unsigned int &, const Vector_t< double, 3 > &, const long &, const double &, Vector_t< double, 3 > &, Vector_t< double, 3 > &) |
| unsigned long | getFieldAt (const Vector_t< double, 3 > &, const Vector_t< double, 3 > &, const double &, Vector_t< double, 3 > &, Vector_t< double, 3 > &) |
| template<class T> | |
| void | visit (const T &, BeamlineVisitor &, PartBunch_t *) |
| void | prepareSections () |
| void | positionElementRelative (std::shared_ptr< ElementBase >) |
| void | compute3DLattice () |
| void | save3DLattice () |
| void | save3DInput () |
| void | print (Inform &) const |
| FieldList | getElementByType (ElementType) |
| void | swap (OpalBeamline &rhs) |
| void | merge (OpalBeamline &rhs) |
| template<> | |
| void | visit (const Marker &, BeamlineVisitor &, PartBunch_t *) |
Private Attributes | |
| FieldList | elements_m |
| bool | prepared_m |
| CoordinateSystemTrafo | coordTransformationTo_m |
Definition at line 38 of file OpalBeamline.h.
| OpalBeamline::OpalBeamline | ( | ) |
Definition at line 29 of file OpalBeamline.cpp.
References elements_m, and prepared_m.
Referenced by getBoundaryGeometry(), merge(), and swap().
| OpalBeamline::OpalBeamline | ( | const Vector_t< double, 3 > & | origin, |
| const Quaternion & | rotation ) |
Definition at line 32 of file OpalBeamline.cpp.
References coordTransformationTo_m, elements_m, and prepared_m.
| OpalBeamline::~OpalBeamline | ( | ) |
Definition at line 36 of file OpalBeamline.cpp.
References elements_m.
| void OpalBeamline::activateElements | ( | ) |
Definition at line 556 of file OpalBeamline.cpp.
References elements_m, and end().
| void OpalBeamline::compute3DLattice | ( | ) |
Definition at line 168 of file OpalBeamline.cpp.
References Quaternion::conjugate(), coordTransformationTo_m, elements_m, end(), euclidean_norm(), Options::idealized, RBEND, RBEND3D, Quaternion::rotate(), SBEND, and SOURCE.
| BoundaryGeometry * OpalBeamline::getBoundaryGeometry | ( | const unsigned int & | ) |
|
inline |
Definition at line 164 of file OpalBeamline.h.
References coordTransformationTo_m.
|
inline |
Definition at line 159 of file OpalBeamline.h.
| FieldList OpalBeamline::getElementByType | ( | ElementType | type | ) |
Definition at line 141 of file OpalBeamline.cpp.
References ANY, and elements_m.
| std::set< std::shared_ptr< Component > > OpalBeamline::getElements | ( | const Vector_t< double, 3 > & | x | ) |
Definition at line 40 of file OpalBeamline.cpp.
References elements_m, and end().
Referenced by getFieldAt().
| double OpalBeamline::getEnd | ( | const Vector_t< double, 3 > & | ) | const |
| unsigned long OpalBeamline::getFieldAt | ( | const unsigned int & | , |
| const Vector_t< double, 3 > & | , | ||
| const long & | , | ||
| const double & | , | ||
| Vector_t< double, 3 > & | , | ||
| Vector_t< double, 3 > & | ) |
Definition at line 56 of file OpalBeamline.cpp.
| unsigned long OpalBeamline::getFieldAt | ( | const Vector_t< double, 3 > & | position, |
| const Vector_t< double, 3 > & | momentum, | ||
| const double & | t, | ||
| Vector_t< double, 3 > & | Ef, | ||
| Vector_t< double, 3 > & | Bf ) |
Definition at line 64 of file OpalBeamline.cpp.
References end(), getElements(), MARKER, rotateFromLocalCS(), rotateToLocalCS(), and transformToLocalCS().
|
inline |
Definition at line 168 of file OpalBeamline.h.
| ParticleMatterInteractionHandler * OpalBeamline::getParticleMatterInteractionHandler | ( | const unsigned int & | ) |
| double OpalBeamline::getStart | ( | const Vector_t< double, 3 > & | ) | const |
| void OpalBeamline::merge | ( | OpalBeamline & | rhs | ) |
Definition at line 136 of file OpalBeamline.cpp.
References elements_m, OpalBeamline(), and prepared_m.
Referenced by ParallelTracker::visitBeamline().
| void OpalBeamline::positionElementRelative | ( | std::shared_ptr< ElementBase > | element | ) |
Definition at line 155 of file OpalBeamline.cpp.
References coordTransformationTo_m.
Referenced by visit().
| void OpalBeamline::prepareSections | ( | ) |
Definition at line 118 of file OpalBeamline.cpp.
References elements_m, prepared_m, and ClassicField::SortAsc().
| void OpalBeamline::print | ( | Inform & | ) | const |
Definition at line 127 of file OpalBeamline.cpp.
Definition at line 135 of file OpalBeamline.h.
References coordTransformationTo_m.
|
inline |
Definition at line 154 of file OpalBeamline.h.
Referenced by getFieldAt().
Definition at line 131 of file OpalBeamline.h.
References coordTransformationTo_m.
|
inline |
Definition at line 149 of file OpalBeamline.h.
Referenced by getFieldAt().
| void OpalBeamline::save3DInput | ( | ) |
Definition at line 496 of file OpalBeamline.cpp.
References Util::combineFilePath(), Quaternion::conjugate(), elements_m, end(), OpalData::getAuxiliaryOutputDirectory(), OpalData::getInputBasename(), OpalData::getInstance(), CoordinateSystemTrafo::getOrigin(), CoordinateSystemTrafo::getRotation(), Util::getTaitBryantAngles(), and Units::rad2deg.
| void OpalBeamline::save3DLattice | ( | ) |
Definition at line 323 of file OpalBeamline.cpp.
References MeshGenerator::add(), OpalData::APPEND, Util::combineFilePath(), elements_m, end(), OpalData::getAuxiliaryOutputDirectory(), OpalData::getInputBasename(), OpalData::getInstance(), CoordinateSystemTrafo::getOrigin(), ClassicField::order_m, RBEND, SBEND, ClassicField::SortAsc(), and MeshGenerator::write().
| void OpalBeamline::swap | ( | OpalBeamline & | rhs | ) |
Definition at line 130 of file OpalBeamline.cpp.
References coordTransformationTo_m, elements_m, OpalBeamline(), and prepared_m.
Referenced by ParallelTracker::visitBeamline().
| void OpalBeamline::switchElements | ( | const double & | min, |
| const double & | max, | ||
| const double & | kineticEnergy, | ||
| const bool & | nomonitors = false ) |
Definition at line 99 of file OpalBeamline.cpp.
References elements_m.
| void OpalBeamline::switchElementsOff | ( | ) |
Definition at line 113 of file OpalBeamline.cpp.
References elements_m.
Definition at line 127 of file OpalBeamline.h.
References coordTransformationTo_m.
|
inline |
Definition at line 144 of file OpalBeamline.h.
Definition at line 123 of file OpalBeamline.h.
References coordTransformationTo_m.
|
inline |
Definition at line 139 of file OpalBeamline.h.
Referenced by getFieldAt().
|
inline |
Definition at line 120 of file OpalBeamline.h.
|
inline |
Definition at line 104 of file OpalBeamline.h.
References elements_m, and positionElementRelative().
|
private |
Definition at line 100 of file OpalBeamline.h.
Referenced by compute3DLattice(), getCSTrafoLab2Local(), OpalBeamline(), positionElementRelative(), rotateFrom(), rotateTo(), swap(), transformFrom(), and transformTo().
|
private |
Definition at line 97 of file OpalBeamline.h.
Referenced by activateElements(), compute3DLattice(), getElementByType(), getElements(), merge(), OpalBeamline(), OpalBeamline(), prepareSections(), save3DInput(), save3DLattice(), swap(), switchElements(), switchElementsOff(), visit(), and ~OpalBeamline().
|
private |
Definition at line 98 of file OpalBeamline.h.
Referenced by merge(), OpalBeamline(), OpalBeamline(), prepareSections(), and swap().