OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
|
#include <ElementBase.h>
Public Member Functions | |
ElementBase (const std::string &name) | |
Constructor with given name. More... | |
ElementBase () | |
ElementBase (const ElementBase &) | |
virtual | ~ElementBase () |
virtual const std::string & | getName () const |
Get element name. More... | |
virtual void | setName (const std::string &name) |
Set element name. More... | |
virtual ElementType | getType () const =0 |
Get element type std::string. More... | |
std::string | getTypeString () const |
virtual BGeometryBase & | getGeometry ()=0 |
Get geometry. More... | |
virtual const BGeometryBase & | getGeometry () const =0 |
Get geometry. More... | |
virtual double | getArcLength () const |
Get arc length. More... | |
virtual double | getElementLength () const |
Get design length. More... | |
virtual void | setElementLength (double length) |
Set design length. More... | |
virtual void | getElementDimensions (double &begin, double &end) const |
virtual double | getOrigin () const |
Get origin position. More... | |
virtual double | getEntrance () const |
Get entrance position. More... | |
virtual double | getExit () const |
Get exit position. More... | |
virtual Euclid3D | getTransform (double fromS, double toS) const |
Get transform. More... | |
virtual Euclid3D | getTransform (double s) const |
Get transform. More... | |
virtual Euclid3D | getTotalTransform () const |
Get transform. More... | |
virtual Euclid3D | getEntranceFrame () const |
Get transform. More... | |
virtual Euclid3D | getExitFrame () const |
Get transform. More... | |
virtual Euclid3D | getEntrancePatch () const |
Get patch. More... | |
virtual Euclid3D | getExitPatch () const |
Get patch. More... | |
virtual double | getAttribute (const std::string &aKey) const |
Get attribute value. More... | |
virtual bool | hasAttribute (const std::string &aKey) const |
Test for existence of an attribute. More... | |
virtual void | removeAttribute (const std::string &aKey) |
Remove an existing attribute. More... | |
virtual void | setAttribute (const std::string &aKey, double val) |
Set value of an attribute. More... | |
virtual Channel * | getChannel (const std::string &aKey, bool create=false) |
Construct a read/write channel. More... | |
virtual const ConstChannel * | getConstChannel (const std::string &aKey) const |
Construct a read-only channel. More... | |
virtual void | accept (BeamlineVisitor &visitor) const =0 |
Apply visitor. More... | |
virtual ElementBase * | clone () const =0 |
Return clone. More... | |
virtual ElementBase * | copyStructure () |
Make a structural copy. More... | |
bool | isSharable () const |
Test if the element can be shared. More... | |
virtual void | makeSharable () |
Set sharable flag. More... | |
bool | update (const AttributeSet &) |
Update element. More... | |
virtual void | setBoundaryGeometry (BoundaryGeometry *geo) |
virtual BoundaryGeometry * | getBoundaryGeometry () const |
return the attached boundary geometrt object if there is any More... | |
virtual bool | hasBoundaryGeometry () const |
virtual void | setWake (WakeFunction *wf) |
attach a wake field to the element More... | |
virtual WakeFunction * | getWake () const |
return the attached wake object if there is any More... | |
virtual bool | hasWake () const |
virtual void | setParticleMatterInteraction (ParticleMatterInteractionHandler *spys) |
virtual ParticleMatterInteractionHandler * | getParticleMatterInteraction () const |
virtual bool | hasParticleMatterInteraction () const |
void | setCSTrafoGlobal2Local (const CoordinateSystemTrafo &ori) |
CoordinateSystemTrafo | getCSTrafoGlobal2Local () const |
void | releasePosition () |
void | fixPosition () |
bool | isPositioned () const |
virtual CoordinateSystemTrafo | getEdgeToBegin () const |
virtual CoordinateSystemTrafo | getEdgeToEnd () const |
void | setAperture (const ApertureType &type, const std::vector< double > &args) |
std::pair< ApertureType, std::vector< double > > | getAperture () const |
virtual bool | isInside (const Vector_t &r) const |
void | setMisalignment (const CoordinateSystemTrafo &cst) |
void | getMisalignment (double &x, double &y, double &s) const |
CoordinateSystemTrafo | getMisalignment () const |
void | setActionRange (const std::queue< std::pair< double, double > > &range) |
void | setCurrentSCoordinate (double s) |
void | setRotationAboutZ (double rotation) |
Set rotation about z axis in bend frame. More... | |
double | getRotationAboutZ () const |
virtual BoundingBox | getBoundingBoxInLabCoords () const |
virtual int | getRequiredNumberOfTimeSteps () const |
void | setOutputFN (std::string fn) |
Set output filename. More... | |
std::string | getOutputFN () const |
Get output filename. More... | |
void | setFlagDeleteOnTransverseExit (bool=true) |
bool | getFlagDeleteOnTransverseExit () const |
void | setElementPosition (double elemedge) |
Access to ELEMEDGE attribute. More... | |
double | getElementPosition () const |
bool | isElementPositionSet () const |
![]() | |
int | addReference () const |
Increment reference count. More... | |
int | removeReference () const |
Decrement the reference count. More... | |
bool | isShared () const |
Test for sharing. More... | |
Static Public Member Functions | |
static std::string | getTypeString (ElementType type) |
Protected Member Functions | |
bool | isInsideTransverse (const Vector_t &r) const |
![]() | |
RCObject () | |
Default constructor. More... | |
RCObject (const RCObject &) | |
Copy constructor. More... | |
virtual | ~RCObject ()=0 |
RCObject & | operator= (const RCObject &right) |
Protected Attributes | |
bool | shareFlag |
CoordinateSystemTrafo | csTrafoGlobal2Local_m |
CoordinateSystemTrafo | misalignment_m |
std::pair< ApertureType, std::vector< double > > | aperture_m |
double | elementEdge_m |
double | rotationZAxis_m |
Private Member Functions | |
void | operator= (const ElementBase &) |
Private Attributes | |
std::string | elementID |
AttributeSet | userAttribs |
WakeFunction * | wake_m |
BoundaryGeometry * | bgeometry_m |
ParticleMatterInteractionHandler * | parmatint_m |
bool | positionIsFixed |
std::queue< std::pair< double, double > > | actionRange_m |
std::string | outputfn_m |
bool | deleteOnTransverseExit_m = true |
double | elementPosition_m |
ELEMEDGE attribute. More... | |
bool | elemedgeSet_m |
Static Private Attributes | |
static const std::map< ElementType, std::string > | elementTypeToString_s |
Definition at line 127 of file ElementBase.h.
|
explicit |
Constructor with given name.
Definition at line 139 of file ElementBase.cpp.
ElementBase::ElementBase | ( | ) |
Definition at line 105 of file ElementBase.cpp.
ElementBase::ElementBase | ( | const ElementBase & | right | ) |
Definition at line 110 of file ElementBase.cpp.
References bgeometry_m, parmatint_m, BoundaryGeometry::updateElement(), and ParticleMatterInteractionHandler::updateElement().
|
virtual |
Definition at line 158 of file ElementBase.cpp.
|
pure virtual |
Apply visitor.
Implemented in Corrector, Cyclotron, Degrader, Undulator, TBeamline< T >, CCollimator, Drift, FlexibleCollimator, Marker, Monitor, Multipole, Offset, Probe, RBend, RBend3D, RFCavity, SBend, Septum, Solenoid, Source, Stripper, TravelingWave, Vacuum, VariableRFCavity, VariableRFCavityFringeField, Bend2D, VerticalFFAMagnet, MultipoleT, MultipoleTCurvedConstRadius, MultipoleTCurvedVarRadius, MultipoleTStraight, Ring, SBend3D, and ScalingFFAMagnet.
Referenced by ElmPtr::accept(), ParallelCyclotronTracker::execute(), DefaultVisitor::execute(), ParallelTTracker::prepareSections(), ThickTracker::prepareSections(), SpecificElementVisitor< ELEM >::visitFlaggedElmPtr(), and DefaultVisitor::visitFlaggedElmPtr().
|
pure virtual |
Return clone.
Implemented in VerticalFFAMagnet, CCollimatorRep, CorrectorRep, CyclotronRep, DegraderRep, DriftRep, FlexibleCollimatorRep, MarkerRep, MonitorRep, MultipoleRep, ProbeRep, RBendRep, RFCavityRep, SBendRep, SeptumRep, SingleMultipole< order >, SolenoidRep, SourceRep, StripperRep, TravelingWaveRep, UndulatorRep, VacuumRep, XCorrectorRep, YCorrectorRep, TBeamline< T >, MultipoleT, MultipoleTCurvedConstRadius, MultipoleTCurvedVarRadius, MultipoleTStraight, Offset, RBend3D, Ring, SBend3D, ScalingFFAMagnet, VariableRFCavity, and VariableRFCavityFringeField.
Referenced by Ring::appendElement(), Sequence::copy(), copyStructure(), RingSection::operator=(), ParallelCyclotronTracker::ParallelCyclotronTracker(), OpalBeamline::visit(), ParallelCyclotronTracker::visitCCollimator(), ParallelCyclotronTracker::visitCorrector(), ParallelCyclotronTracker::visitCyclotron(), ParallelCyclotronTracker::visitDrift(), ParallelCyclotronTracker::visitMarker(), ParallelCyclotronTracker::visitMonitor(), ParallelCyclotronTracker::visitMultipole(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitRBend(), ParallelCyclotronTracker::visitRFCavity(), ParallelCyclotronTracker::visitSBend(), ParallelCyclotronTracker::visitSeptum(), ParallelCyclotronTracker::visitSolenoid(), ParallelCyclotronTracker::visitStripper(), and ParallelCyclotronTracker::visitVacuum().
|
virtual |
Make a structural copy.
Reimplemented in TBeamline< T >.
Definition at line 245 of file ElementBase.cpp.
References clone(), and isSharable().
Referenced by Sequence::copy(), SequenceParser::parseMember(), and Replacer::visitFlaggedElmPtr().
|
inline |
Definition at line 550 of file ElementBase.h.
References positionIsFixed.
Referenced by OpalElement::update(), OpalRBend::update(), OpalRBend3D::update(), and OpalSBend::update().
|
inline |
Definition at line 524 of file ElementBase.h.
References aperture_m.
Referenced by MeshGenerator::add(), and Offset::operator=().
|
inlinevirtual |
Get arc length.
Reimplemented in MarkerRep, and TBeamline< T >.
Definition at line 410 of file ElementBase.h.
References BGeometryBase::getArcLength(), and getGeometry().
Referenced by BeamlineGeometry::getArcLength(), and TBeamline< T >::getTransform().
|
virtual |
Get attribute value.
Definition at line 188 of file ElementBase.cpp.
References getConstChannel().
|
inlinevirtual |
return the attached boundary geometrt object if there is any
Definition at line 474 of file ElementBase.h.
References bgeometry_m.
|
virtual |
Reimplemented in Bend2D.
Definition at line 314 of file ElementBase.cpp.
References aperture_m, csTrafoGlobal2Local_m, BoundingBox::getBoundingBox(), getEdgeToBegin(), getEdgeToEnd(), and CoordinateSystemTrafo::transformFrom().
|
virtual |
Construct a read/write channel.
Reimplemented in CCollimatorRep, CorrectorRep, CyclotronRep, DegraderRep, DriftRep, FlexibleCollimatorRep, MonitorRep, MultipoleRep, ProbeRep, RBendRep, RFCavityRep, SBendRep, SeptumRep, SingleMultipole< order >, SolenoidRep, SourceRep, StripperRep, TravelingWaveRep, UndulatorRep, VacuumRep, XCorrectorRep, and YCorrectorRep.
Definition at line 229 of file ElementBase.cpp.
References AttributeSet::getChannel(), and userAttribs.
Referenced by CCollimatorRep::getChannel(), CorrectorRep::getChannel(), CyclotronRep::getChannel(), DegraderRep::getChannel(), DriftRep::getChannel(), FlexibleCollimatorRep::getChannel(), MonitorRep::getChannel(), MultipoleRep::getChannel(), ProbeRep::getChannel(), RBendRep::getChannel(), RFCavityRep::getChannel(), SBendRep::getChannel(), SeptumRep::getChannel(), SingleMultipole< order >::getChannel(), SolenoidRep::getChannel(), SourceRep::getChannel(), StripperRep::getChannel(), TravelingWaveRep::getChannel(), UndulatorRep::getChannel(), VacuumRep::getChannel(), XCorrectorRep::getChannel(), YCorrectorRep::getChannel(), getConstChannel(), and setAttribute().
|
virtual |
Construct a read-only channel.
Definition at line 234 of file ElementBase.cpp.
References getChannel().
Referenced by getAttribute(), and hasAttribute().
|
inline |
Definition at line 497 of file ElementBase.h.
References csTrafoGlobal2Local_m.
Referenced by MeshGenerator::add(), ParallelTTracker::computeParticleMatterInteraction(), Monitor::driftToCorrectPositionAndSave(), OpalRBend::update(), OpalRBend3D::update(), and OpalSBend::update().
|
inlinevirtual |
Reimplemented in RFCavity, Solenoid, and TravelingWave.
Definition at line 502 of file ElementBase.h.
Referenced by getBoundingBoxInLabCoords(), Bend2D::getBoundingBoxInLabCoords(), and isInsideTransverse().
|
inlinevirtual |
Reimplemented in Bend2D, RFCavity, Solenoid, and TravelingWave.
Definition at line 510 of file ElementBase.h.
References getElementLength().
Referenced by getBoundingBoxInLabCoords().
|
inlinevirtual |
Reimplemented in RFCavity, TravelingWave, and Solenoid.
Definition at line 173 of file ElementBase.h.
References begin(), end(), and getElementLength().
Referenced by MeshGenerator::add().
|
inlinevirtual |
Get design length.
Reimplemented in MarkerRep, TBeamline< T >, and RFCavity.
Definition at line 414 of file ElementBase.h.
References BGeometryBase::getElementLength(), and getGeometry().
Referenced by ScatteringPhysics::addBackToBunch(), Undulator::apply(), Multipole::apply(), Component::apply(), Corrector::apply(), Solenoid::apply(), Component::applyToReferenceParticle(), Multipole::applyToReferenceParticle(), Solenoid::applyToReferenceParticle(), Vacuum::checkPoint(), ScatteringPhysics::copyFromBunch(), RBend::findChordLength(), SBend::findChordLength(), Corrector::getDimensions(), Degrader::getDimensions(), CCollimator::getDimensions(), Drift::getDimensions(), FlexibleCollimator::getDimensions(), Multipole::getDimensions(), RBend3D::getDimensions(), Solenoid::getDimensions(), Vacuum::getDimensions(), getEdgeToEnd(), Solenoid::getEdgeToEnd(), getElementDimensions(), Solenoid::getElementDimensions(), BeamlineGeometry::getElementLength(), RFCavity::getElementLength(), Corrector::initialise(), Degrader::initialise(), Drift::initialise(), FlexibleCollimator::initialise(), Multipole::initialise(), RBend3D::initialise(), Solenoid::initialise(), Source::initialise(), Vacuum::initialise(), Degrader::isInMaterial(), isInside(), Monitor::isInside(), Multipole::isInside(), isInsideTransverse(), FlexibleCollimator::isStopped(), ScatteringPhysics::setTimeStepForLeavingParticles(), Bend2D::setupDefaultFieldMap(), ParallelCyclotronTracker::visitCorrector(), ParallelCyclotronTracker::visitDrift(), ThickTracker::visitDrift(), ParallelCyclotronTracker::visitMultipole(), ThickTracker::visitMultipole(), ParallelCyclotronTracker::visitRBend(), ParallelCyclotronTracker::visitSBend(), and ThickTracker::visitSBend().
|
inline |
Definition at line 588 of file ElementBase.h.
References elemedgeSet_m, elementPosition_m, and getName().
|
inlinevirtual |
Get entrance position.
Reimplemented in TBeamline< T >.
Definition at line 426 of file ElementBase.h.
References BGeometryBase::getEntrance(), and getGeometry().
Referenced by BeamlineGeometry::getEntrance().
|
inlinevirtual |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 446 of file ElementBase.h.
References BGeometryBase::getEntranceFrame(), and getGeometry().
Referenced by BeamlineGeometry::getEntranceFrame().
|
inlinevirtual |
Get patch.
Definition at line 454 of file ElementBase.h.
References BGeometryBase::getEntrancePatch(), and getGeometry().
|
inlinevirtual |
Get exit position.
Reimplemented in TBeamline< T >.
Definition at line 430 of file ElementBase.h.
References BGeometryBase::getExit(), and getGeometry().
Referenced by BeamlineGeometry::getExit().
|
inlinevirtual |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 450 of file ElementBase.h.
References BGeometryBase::getExitFrame(), and getGeometry().
Referenced by BeamlineGeometry::getExitFrame().
|
inlinevirtual |
Get patch.
Definition at line 458 of file ElementBase.h.
References BGeometryBase::getExitPatch(), and getGeometry().
|
inline |
Definition at line 613 of file ElementBase.h.
References deleteOnTransverseExit_m.
Referenced by Multipole::apply(), Corrector::apply(), MultipoleTBase::apply(), Bend2D::apply(), MultipoleT::apply(), RFCavity::apply(), Solenoid::apply(), TravelingWave::apply(), and FlexibleCollimator::isStopped().
|
pure virtual |
Get geometry.
Implemented in VerticalFFAMagnet, CCollimatorRep, CorrectorRep, CyclotronRep, DegraderRep, DriftRep, FlexibleCollimatorRep, MarkerRep, MonitorRep, MultipoleRep, ProbeRep, RBendRep, RFCavityRep, SBendRep, SeptumRep, SingleMultipole< order >, SolenoidRep, SourceRep, StripperRep, TravelingWaveRep, UndulatorRep, VacuumRep, TBeamline< T >, Corrector, MultipoleT, MultipoleTCurvedConstRadius, MultipoleTCurvedVarRadius, MultipoleTStraight, Offset, RBend3D, Ring, SBend3D, ScalingFFAMagnet, VariableRFCavity, Monitor, Multipole, RBend, and SBend.
|
pure virtual |
Get geometry.
Implemented in VerticalFFAMagnet, CCollimatorRep, CorrectorRep, CyclotronRep, DegraderRep, DriftRep, FlexibleCollimatorRep, MarkerRep, MonitorRep, MultipoleRep, ProbeRep, RBendRep, RFCavityRep, SBendRep, SeptumRep, SingleMultipole< order >, SolenoidRep, SourceRep, StripperRep, TravelingWaveRep, UndulatorRep, VacuumRep, TBeamline< T >, MultipoleT, MultipoleTCurvedConstRadius, MultipoleTCurvedVarRadius, MultipoleTStraight, Offset, RBend3D, Ring, SBend3D, ScalingFFAMagnet, VariableRFCavity, Monitor, Multipole, RBend, SBend, and Corrector.
Referenced by Ring::appendElement(), getArcLength(), getElementLength(), getEntrance(), getEntranceFrame(), getEntrancePatch(), getExit(), getExitFrame(), getExitPatch(), getOrigin(), getTotalTransform(), getTransform(), and setElementLength().
|
inline |
Definition at line 540 of file ElementBase.h.
References misalignment_m.
void ElementBase::getMisalignment | ( | double & | x, |
double & | y, | ||
double & | s | ||
) | const |
Referenced by ParallelTTracker::computeParticleMatterInteraction().
|
virtual |
Get element name.
Definition at line 163 of file ElementBase.cpp.
References elementID.
Referenced by Ring::appendElement(), Cyclotron::apply(), Ring::apply(), Bend2D::calculateRefTrajectory(), Vacuum::checkPressure(), Stripper::doCheck(), CCollimator::doFinalise(), Stripper::doFinalise(), Probe::doGoOffline(), PlaceRep::enter(), Cyclotron::finalise(), Degrader::finalise(), FlexibleCollimator::finalise(), Vacuum::finalise(), getElementPosition(), RFCavity::getMomentaKick(), BeamStrippingPhysics::getName(), ScatteringPhysics::getName(), Bend2D::getOutline(), getOutputFN(), CavityAutophaser::getPhaseAtMaxEnergy(), Selector::handleElement(), Ring::initialise(), Bend2D::initialise(), RBend3D::initialise(), RFCavity::initialise(), Solenoid::initialise(), CSRIGFWakeFunction::initialize(), CSRWakeFunction::initialize(), OpalWake::initWakefunction(), PlaceRep::leave(), operator<<(), Offset::operator=(), VariableRFCavity::operator=(), operator==(), Vacuum::print(), BeamStrippingPhysics::print(), ScatteringPhysics::print(), Sequence::print(), ParticleMatterInteraction::print(), Bend2D::readFieldMap(), Component::trackBunch(), Component::trackMap(), RBend3D::trackRefParticleThrough(), OpalRBend::update(), OpalRBend3D::update(), OpalSBend::update(), Sequence::updateList(), ParallelTTracker::updateRFElement(), ParallelCyclotronTracker::visitCCollimator(), Replacer::visitFlaggedElmPtr(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitRFCavity(), ParallelCyclotronTracker::visitSeptum(), ParallelCyclotronTracker::visitStripper(), and ParallelTTracker::writePhaseSpace().
|
inlinevirtual |
Get origin position.
Reimplemented in TBeamline< T >.
Definition at line 422 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getOrigin().
Referenced by BeamlineGeometry::getOrigin().
std::string ElementBase::getOutputFN | ( | ) | const |
Get output filename.
Definition at line 178 of file ElementBase.cpp.
References getName(), and outputfn_m.
Referenced by Probe::doInitialise(), PluginElement::initialise(), Cyclotron::initialise(), FlexibleCollimator::initialise(), Monitor::initialise(), and Source::initialise().
|
inlinevirtual |
Definition at line 482 of file ElementBase.h.
References parmatint_m.
Referenced by Degrader::applyToReferenceParticle(), CCollimator::doInitialise(), Vacuum::initialise(), and FlexibleCollimator::initialise().
|
inlinevirtual |
|
inline |
Definition at line 573 of file ElementBase.h.
References rotationZAxis_m.
Referenced by OpalBeamline::compute3DLattice(), and Bend2D::setFieldCalcParam().
|
inlinevirtual |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 438 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getTotalTransform().
Referenced by BeamlineGeometry::getTotalTransform().
|
inlinevirtual |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 434 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getTransform().
Referenced by BeamlineGeometry::getTransform(), and TBeamline< T >::getTransform().
|
inlinevirtual |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 442 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getTransform().
|
pure virtual |
Get element type std::string.
Implemented in Component, Corrector, Cyclotron, Degrader, Undulator, TBeamline< T >, CCollimator, Drift, FlexibleCollimator, Marker, Monitor, Multipole, Probe, RBend, RBend3D, RFCavity, SBend, Septum, Solenoid, Source, Stripper, TravelingWave, Vacuum, and Bend2D.
Referenced by MeshGenerator::add(), BeamStrippingPhysics::apply(), getTypeString(), and ScatteringPhysics::ScatteringPhysics().
|
inline |
Definition at line 578 of file ElementBase.h.
References getType(), and getTypeString().
Referenced by ParallelCyclotronTracker::execute(), getTypeString(), Vacuum::print(), and OpalBeamline::visit().
|
static |
Definition at line 241 of file ElementBase.cpp.
References elementTypeToString_s.
|
inlinevirtual |
return the attached wake object if there is any
Definition at line 466 of file ElementBase.h.
References wake_m.
|
virtual |
Test for existence of an attribute.
Definition at line 201 of file ElementBase.cpp.
References getConstChannel().
Referenced by ParallelCyclotronTracker::visitSolenoid().
|
inlinevirtual |
Definition at line 478 of file ElementBase.h.
References bgeometry_m.
|
inlinevirtual |
Definition at line 486 of file ElementBase.h.
References parmatint_m.
|
inlinevirtual |
Definition at line 470 of file ElementBase.h.
References wake_m.
|
inline |
Definition at line 597 of file ElementBase.h.
References elemedgeSet_m.
|
inlinevirtual |
Reimplemented in Bend2D, Monitor, Multipole, RBend3D, RFCavity, Solenoid, and TravelingWave.
Definition at line 529 of file ElementBase.h.
References getElementLength(), and isInsideTransverse().
|
protected |
Definition at line 288 of file ElementBase.cpp.
References abs(), aperture_m, CONIC_ELLIPTICAL, CONIC_RECTANGULAR, ELLIPTICAL, getEdgeToBegin(), getElementLength(), pow(), RECTANGULAR, and CoordinateSystemTrafo::transformTo().
Referenced by Undulator::apply(), Multipole::apply(), Component::apply(), Corrector::apply(), Component::applyToReferenceParticle(), Multipole::applyToReferenceParticle(), isInside(), Monitor::isInside(), Multipole::isInside(), RFCavity::isInside(), Solenoid::isInside(), TravelingWave::isInside(), and FlexibleCollimator::isStopped().
|
inline |
Definition at line 555 of file ElementBase.h.
References positionIsFixed.
Referenced by OpalRBend::update(), OpalRBend3D::update(), and OpalSBend::update().
|
inline |
Test if the element can be shared.
Definition at line 462 of file ElementBase.h.
References shareFlag.
Referenced by copyStructure(), and Sequence::updateList().
|
virtual |
Set sharable flag.
Reimplemented in TBeamline< T >.
Definition at line 254 of file ElementBase.cpp.
References shareFlag.
Referenced by OpalMarker::OpalMarker(), and Element::setShared().
|
private |
|
inline |
Definition at line 545 of file ElementBase.h.
References positionIsFixed.
Referenced by OpalRBend::update(), OpalRBend3D::update(), and OpalSBend::update().
|
virtual |
Remove an existing attribute.
Definition at line 213 of file ElementBase.cpp.
References AttributeSet::removeAttribute(), and userAttribs.
|
inline |
Definition at line 560 of file ElementBase.h.
References actionRange_m, and elementEdge_m.
|
inline |
Definition at line 518 of file ElementBase.h.
References aperture_m.
Referenced by Component::Component(), Offset::operator=(), OpalElement::update(), OpalRBend::update(), OpalRBend3D::update(), OpalSBend::update(), and OpalSlit::update().
|
virtual |
Set value of an attribute.
Definition at line 218 of file ElementBase.cpp.
References endl(), getChannel(), and Channel::isSettable().
Referenced by update(), and OpalElement::updateUnknown().
|
virtual |
attach a boundary geometry field to the element
Definition at line 271 of file ElementBase.cpp.
References bgeometry_m.
Referenced by OpalCavity::update(), OpalCyclotron::update(), and OpalDrift::update().
|
inline |
Definition at line 490 of file ElementBase.h.
References csTrafoGlobal2Local_m, and positionIsFixed.
Referenced by OpalElement::update(), OpalRBend::update(), OpalRBend3D::update(), and OpalSBend::update().
void ElementBase::setCurrentSCoordinate | ( | double | s | ) |
Definition at line 279 of file ElementBase.cpp.
References actionRange_m, and elementEdge_m.
|
inlinevirtual |
Set design length.
Definition at line 418 of file ElementBase.h.
References getGeometry(), and BGeometryBase::setElementLength().
Referenced by Bend2D::initialise(), RBend3D::initialise(), RFCavity::initialise(), Solenoid::initialise(), TravelingWave::initialise(), SequenceMember::setLength(), OpalCavity::update(), OpalCCollimator::update(), OpalDrift::update(), OpalECollimator::update(), OpalFlexibleCollimator::update(), OpalHKicker::update(), OpalKicker::update(), OpalMonitor::update(), OpalMultipole::update(), OpalMultipoleT::update(), OpalMultipoleTCurvedConstRadius::update(), OpalMultipoleTCurvedVarRadius::update(), OpalMultipoleTStraight::update(), OpalOctupole::update(), OpalPepperPot::update(), OpalProbe::update(), OpalQuadrupole::update(), OpalRBend3D::update(), OpalRCollimator::update(), OpalSeptum::update(), OpalSextupole::update(), OpalSlit::update(), OpalSolenoid::update(), OpalSource::update(), OpalStripper::update(), OpalTravelingWave::update(), OpalUndulator::update(), OpalVacuum::update(), and OpalVKicker::update().
|
inline |
Access to ELEMEDGE attribute.
Definition at line 582 of file ElementBase.h.
References elemedgeSet_m, and elementPosition_m.
Referenced by OpalElement::update().
|
inline |
Definition at line 607 of file ElementBase.h.
References deleteOnTransverseExit_m.
Referenced by OpalElement::update().
|
inline |
Definition at line 535 of file ElementBase.h.
References misalignment_m.
Referenced by OpalElement::update().
|
virtual |
Set element name.
Definition at line 168 of file ElementBase.cpp.
References elementID, and name.
Referenced by Sequence::insertDrifts(), Offset::Offset(), Offset::operator=(), and VariableRFCavity::operator=().
void ElementBase::setOutputFN | ( | std::string | fn | ) |
Set output filename.
Definition at line 173 of file ElementBase.cpp.
References outputfn_m.
Referenced by OpalCCollimator::update(), OpalCyclotron::update(), OpalECollimator::update(), OpalFlexibleCollimator::update(), OpalMonitor::update(), OpalPepperPot::update(), OpalProbe::update(), OpalRCollimator::update(), OpalSeptum::update(), OpalSlit::update(), OpalSource::update(), and OpalStripper::update().
|
virtual |
Definition at line 275 of file ElementBase.cpp.
References parmatint_m.
Referenced by OpalCCollimator::update(), OpalDrift::update(), OpalECollimator::update(), OpalFlexibleCollimator::update(), OpalPepperPot::update(), OpalQuadrupole::update(), OpalRBend::update(), OpalRBend3D::update(), OpalRCollimator::update(), OpalSBend::update(), OpalSlit::update(), and OpalVacuum::update().
|
inline |
Set rotation about z axis in bend frame.
Definition at line 568 of file ElementBase.h.
References rotationZAxis_m.
Referenced by OpalElement::update().
|
virtual |
attach a wake field to the element
Definition at line 267 of file ElementBase.cpp.
References wake_m.
Referenced by OpalCavity::update(), OpalDrift::update(), OpalProbe::update(), OpalRBend::update(), OpalRBend3D::update(), OpalSBend::update(), OpalSeptum::update(), and OpalTravelingWave::update().
bool ElementBase::update | ( | const AttributeSet & | set | ) |
Update element.
Definition at line 259 of file ElementBase.cpp.
References AttributeSet::begin(), AttributeSet::end(), and setAttribute().
Referenced by Monitor::driftToCorrectPositionAndSave().
|
private |
Definition at line 398 of file ElementBase.h.
Referenced by setActionRange(), and setCurrentSCoordinate().
|
protected |
Definition at line 368 of file ElementBase.h.
Referenced by getAperture(), getBoundingBoxInLabCoords(), Bend2D::getOutline(), Bend2D::getSurfaceMesh(), Bend2D::inMagnetCentralRegion(), Bend2D::inMagnetEntranceRegion(), Bend2D::inMagnetExitRegion(), isInsideTransverse(), setAperture(), Bend2D::setFieldCalcParam(), Bend2D::setupBendGeometry(), and Bend2D::setupFringeWidths().
|
private |
Definition at line 389 of file ElementBase.h.
Referenced by ElementBase(), getBoundaryGeometry(), hasBoundaryGeometry(), and setBoundaryGeometry().
|
protected |
Definition at line 365 of file ElementBase.h.
Referenced by Monitor::applyToReferenceParticle(), getBoundingBoxInLabCoords(), Bend2D::getBoundingBoxInLabCoords(), getCSTrafoGlobal2Local(), and setCSTrafoGlobal2Local().
|
private |
Definition at line 402 of file ElementBase.h.
Referenced by getFlagDeleteOnTransverseExit(), and setFlagDeleteOnTransverseExit().
|
private |
Definition at line 396 of file ElementBase.h.
Referenced by getElementPosition(), isElementPositionSet(), and setElementPosition().
|
protected |
Definition at line 370 of file ElementBase.h.
Referenced by Bend2D::getEffectiveCenter(), Bend2D::initialise(), Bend2D::print(), setActionRange(), setCurrentSCoordinate(), and Bend2D::setupBendGeometry().
|
private |
Definition at line 380 of file ElementBase.h.
|
private |
ELEMEDGE attribute.
Definition at line 395 of file ElementBase.h.
Referenced by getElementPosition(), and setElementPosition().
|
staticprivate |
Definition at line 382 of file ElementBase.h.
Referenced by getTypeString().
|
protected |
Definition at line 366 of file ElementBase.h.
Referenced by getMisalignment(), and setMisalignment().
|
private |
The name of the outputfile
Definition at line 400 of file ElementBase.h.
Referenced by getOutputFN(), and setOutputFN().
|
private |
Definition at line 391 of file ElementBase.h.
Referenced by ElementBase(), getParticleMatterInteraction(), hasParticleMatterInteraction(), and setParticleMatterInteraction().
|
private |
Definition at line 393 of file ElementBase.h.
Referenced by fixPosition(), isPositioned(), releasePosition(), and setCSTrafoGlobal2Local().
|
protected |
Definition at line 372 of file ElementBase.h.
Referenced by Bend2D::findIdealBendParameters(), getRotationAboutZ(), RBend3D::initialise(), Bend2D::print(), and setRotationAboutZ().
|
mutableprotected |
Definition at line 363 of file ElementBase.h.
Referenced by Beamline::Beamline(), isSharable(), and makeSharable().
|
private |
Definition at line 385 of file ElementBase.h.
Referenced by getChannel(), and removeAttribute().
|
private |
Definition at line 387 of file ElementBase.h.