|
OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
|
#include <OpalBeamline.h>

Private Attributes | |
| FieldList | elements_m |
| bool | prepared_m |
| bool | containsSource_m |
| CoordinateSystemTrafo | coordTransformationTo_m |
Definition at line 40 of file OpalBeamline.h.
| OpalBeamline::OpalBeamline | ( | ) |
Definition at line 31 of file OpalBeamline.cpp.
| OpalBeamline::OpalBeamline | ( | const Vector_t & | origin, |
| const Quaternion & | rotation | ||
| ) |
Definition at line 38 of file OpalBeamline.cpp.
| OpalBeamline::~OpalBeamline | ( | ) |
Definition at line 47 of file OpalBeamline.cpp.
References elements_m.
| void OpalBeamline::activateElements | ( | ) |
Definition at line 594 of file OpalBeamline.cpp.
References elements_m, end, Units::eV2MeV, BendBase::getDesignEnergy(), it, RBEND, and SBEND.
Referenced by ParallelTTracker::execute().

| void OpalBeamline::compute3DLattice | ( | ) |
Definition at line 205 of file OpalBeamline.cpp.
References abs(), Quaternion::conjugate(), coordTransformationTo_m, cos(), elements_m, end, euclidean_norm(), BendBase::getBendAngle(), BendBase::getChordLength(), BendBase::getDesignPath(), BendBase::getEntranceAngle(), ElementBase::getRotationAboutZ(), Options::idealized, it, RBEND, RBEND3D, Quaternion::rotate(), SBEND, sin(), and SOURCE.
Referenced by ParallelTTracker::prepareSections(), ParallelTTracker::visitBeamline(), and ThickTracker::visitBeamline().

|
inline |
Definition at line 205 of file OpalBeamline.h.
References containsSource_m.
Referenced by ParallelTTracker::execute(), and ParallelTTracker::findStartPosition().
| BoundaryGeometry* OpalBeamline::getBoundaryGeometry | ( | const unsigned int & | ) |
|
inline |
Definition at line 190 of file OpalBeamline.h.
Referenced by ParallelTTracker::computeExternalFields(), ParallelTTracker::emitParticles(), ParallelTTracker::execute(), OrbitThreader::integrate(), and ParallelTTracker::updateReferenceParticle().
|
inline |
Definition at line 195 of file OpalBeamline.h.
References coordTransformationTo_m.
| FieldList OpalBeamline::getElementByType | ( | ElementType | type | ) |
Definition at line 178 of file OpalBeamline.cpp.
References ANY, elements_m, and type.
Referenced by ThickTracker::checkElementOrder_m(), OrbitThreader::computeBoundingBox(), OrbitThreader::execute(), ThickTracker::fillGaps_m(), OrbitThreader::processElementRegister(), ParallelTTracker::updateRFElement(), and ParallelTTracker::writePhaseSpace().
Definition at line 51 of file OpalBeamline.cpp.
References elements_m, end, and it.
Referenced by ParallelTTracker::autophaseCavities(), OrbitThreader::execute(), getFieldAt(), OrbitThreader::integrate(), OrbitThreader::trackBack(), and ParallelTTracker::updateReferenceParticle().
| double OpalBeamline::getEnd | ( | const Vector_t & | ) | const |
| unsigned long OpalBeamline::getFieldAt | ( | const unsigned int & | , |
| const Vector_t & | , | ||
| const long & | , | ||
| const double & | , | ||
| Vector_t & | , | ||
| Vector_t & | |||
| ) |
Definition at line 67 of file OpalBeamline.cpp.
Referenced by ThickTracker::dump_m(), ParallelTTracker::emitParticles(), and ParallelTTracker::writePhaseSpace().
| unsigned long OpalBeamline::getFieldAt | ( | const Vector_t & | position, |
| const Vector_t & | momentum, | ||
| const double & | t, | ||
| Vector_t & | Ef, | ||
| Vector_t & | Bf | ||
| ) |
Definition at line 74 of file OpalBeamline.cpp.
References CCOLLIMATOR, end, getElements(), it, MARKER, MONITOR, rotateFromLocalCS(), rotateToLocalCS(), transformToLocalCS(), and type.

|
inline |
Definition at line 200 of file OpalBeamline.h.
Referenced by ParallelTTracker::computeExternalFields().
| ParticleMatterInteractionHandler* OpalBeamline::getParticleMatterInteractionHandler | ( | const unsigned int & | ) |
| double OpalBeamline::getStart | ( | const Vector_t & | ) | const |
| void OpalBeamline::merge | ( | OpalBeamline & | rhs | ) |
Definition at line 169 of file OpalBeamline.cpp.
References containsSource_m, elements_m, and prepared_m.
| void OpalBeamline::positionElementRelative | ( | std::shared_ptr< ElementBase > | element | ) |
Definition at line 192 of file OpalBeamline.cpp.
References coordTransformationTo_m.
Referenced by visit().
| void OpalBeamline::prepareSections | ( | ) |
Definition at line 151 of file OpalBeamline.cpp.
References elements_m, prepared_m, and ClassicField::SortAsc().
Referenced by ThickTracker::prepareSections(), ParallelTTracker::prepareSections(), ParallelTTracker::visitBeamline(), and ThickTracker::visitBeamline().

Definition at line 160 of file OpalBeamline.cpp.
Definition at line 161 of file OpalBeamline.h.
References coordTransformationTo_m, and CoordinateSystemTrafo::rotateFrom().

|
inline |
Definition at line 184 of file OpalBeamline.h.
Referenced by getFieldAt(), and OrbitThreader::integrate().
Definition at line 156 of file OpalBeamline.h.
References coordTransformationTo_m, and CoordinateSystemTrafo::rotateTo().

|
inline |
Definition at line 178 of file OpalBeamline.h.
Referenced by OrbitThreader::autophaseCavities(), ParallelTTracker::autophaseCavities(), getFieldAt(), OrbitThreader::integrate(), and OrbitThreader::registerElement().
| void OpalBeamline::save3DInput | ( | ) |
Definition at line 521 of file OpalBeamline.cpp.
References abs(), angle(), Util::combineFilePath(), Quaternion::conjugate(), Physics::e, elements_m, end, endl(), OpalData::getAuxiliaryOutputDirectory(), BendBase::getBendAngle(), BendBase::getEntranceAngle(), Bend2D::getExitAngle(), OpalData::getInputBasename(), OpalData::getInstance(), CoordinateSystemTrafo::getOrigin(), CoordinateSystemTrafo::getRotation(), Util::getTaitBryantAngles(), it, IpplInfo::myNode(), Units::rad2deg, RBEND, and SBEND.
Referenced by ParallelTTracker::prepareSections().

| void OpalBeamline::save3DLattice | ( | ) |
Definition at line 352 of file OpalBeamline.cpp.
References abs(), MeshGenerator::add(), OpalData::APPEND, Util::combineFilePath(), elements_m, end, endl(), floor(), OpalData::getAuxiliaryOutputDirectory(), Bend2D::getBeginToEnd_local(), BendBase::getBendAngle(), BendBase::getDesignPath(), OpalData::getInputBasename(), OpalData::getInstance(), OpalData::getOpenMode(), CoordinateSystemTrafo::getOrigin(), it, max(), IpplInfo::myNode(), ClassicField::order_m, Units::rad2deg, RBEND, SBEND, ClassicField::SortAsc(), and MeshGenerator::write().
Referenced by ParallelTTracker::prepareSections().

| void OpalBeamline::swap | ( | OpalBeamline & | rhs | ) |
Definition at line 163 of file OpalBeamline.cpp.
References coordTransformationTo_m, elements_m, and prepared_m.
Referenced by ParallelTTracker::visitBeamline(), and ThickTracker::visitBeamline().
| void OpalBeamline::switchElements | ( | const double & | min, |
| const double & | max, | ||
| const double & | kineticEnergy, | ||
| const bool & | nomonitors = false |
||
| ) |
Definition at line 112 of file OpalBeamline.cpp.
References DEGRADER, elements_m, min(), and MONITOR.

| void OpalBeamline::switchElementsOff | ( | ) |
Definition at line 146 of file OpalBeamline.cpp.
References elements_m.
Referenced by ParallelTTracker::execute().
Definition at line 151 of file OpalBeamline.h.
References coordTransformationTo_m, and CoordinateSystemTrafo::transformFrom().

|
inline |
Definition at line 172 of file OpalBeamline.h.
Definition at line 146 of file OpalBeamline.h.
References coordTransformationTo_m, and CoordinateSystemTrafo::transformTo().

|
inline |
Definition at line 166 of file OpalBeamline.h.
Referenced by OrbitThreader::autophaseCavities(), ParallelTTracker::autophaseCavities(), getFieldAt(), OrbitThreader::integrate(), and OrbitThreader::registerElement().
|
inline |
Definition at line 105 of file OpalBeamline.h.
References elements_m, and positionElementRelative().
Referenced by ParallelTTracker::visitCCollimator(), ParallelTTracker::visitCorrector(), ParallelTTracker::visitDegrader(), ParallelTTracker::visitDrift(), ThickTracker::visitDrift(), ParallelTTracker::visitFlexibleCollimator(), ParallelTTracker::visitMarker(), ParallelTTracker::visitMonitor(), ParallelTTracker::visitMultipole(), ThickTracker::visitMultipole(), ParallelTTracker::visitMultipoleT(), ParallelTTracker::visitProbe(), ParallelTTracker::visitRBend(), ParallelTTracker::visitRBend3D(), ParallelTTracker::visitRFCavity(), ParallelTTracker::visitSBend(), ThickTracker::visitSBend(), ParallelTTracker::visitSeptum(), ParallelTTracker::visitSolenoid(), ParallelTTracker::visitSource(), ParallelTTracker::visitTravelingWave(), and ParallelTTracker::visitVacuum().

|
inline |
Definition at line 121 of file OpalBeamline.h.
|
inline |
Definition at line 137 of file OpalBeamline.h.
|
inline |
Definition at line 141 of file OpalBeamline.h.
References endl(), and WARNMSG.

|
private |
Definition at line 99 of file OpalBeamline.h.
Referenced by containsSource(), and merge().
|
private |
Definition at line 101 of file OpalBeamline.h.
Referenced by compute3DLattice(), getCSTrafoLab2Local(), positionElementRelative(), rotateFrom(), rotateTo(), swap(), transformFrom(), and transformTo().
|
private |
Definition at line 97 of file OpalBeamline.h.
Referenced by activateElements(), compute3DLattice(), getElementByType(), getElements(), merge(), prepareSections(), save3DInput(), save3DLattice(), swap(), switchElements(), switchElementsOff(), visit(), and ~OpalBeamline().
|
private |
Definition at line 98 of file OpalBeamline.h.
Referenced by merge(), prepareSections(), and swap().
1.8.5