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().