OPAL (Object Oriented Parallel Accelerator Library)
2024.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 128 of file ElementBase.h.
|
explicit |
Constructor with given name.
Definition at line 138 of file ElementBase.cpp.
ElementBase::ElementBase | ( | ) |
Definition at line 104 of file ElementBase.cpp.
ElementBase::ElementBase | ( | const ElementBase & | right | ) |
Definition at line 109 of file ElementBase.cpp.
References bgeometry_m, parmatint_m, ParticleMatterInteractionHandler::updateElement(), and BoundaryGeometry::updateElement().
|
virtual |
Definition at line 157 of file ElementBase.cpp.
|
pure virtual |
Apply visitor.
Implemented in MultipoleT, Ring, Offset, ScalingFFAMagnet, VerticalFFAMagnet, SBend3D, Cyclotron, MultipoleTCurvedVarRadius, MultipoleTCurvedConstRadius, MultipoleTStraight, SBend, OutputPlane, Vacuum, VariableRFCavityFringeField, RBend, RBend3D, Bend2D, VariableRFCavity, Corrector, Multipole, Monitor, Degrader, RFCavity, Solenoid, TBeamline< T >, Drift, Marker, FlexibleCollimator, Stripper, Source, Undulator, Probe, TravelingWave, CCollimator, and Septum.
Referenced by ElmPtr::accept(), DefaultVisitor::execute(), ParallelCyclotronTracker::execute(), ThickTracker::prepareSections(), ParallelTTracker::prepareSections(), DefaultVisitor::visitFlaggedElmPtr(), and SpecificElementVisitor< ELEM >::visitFlaggedElmPtr().
|
pure virtual |
Return clone.
Implemented in Ring, Offset, MultipoleT, MultipoleTCurvedVarRadius, MultipoleTCurvedConstRadius, MultipoleTStraight, SingleMultipole< order >, VariableRFCavityFringeField, OutputPlane, SBend3D, VariableRFCavity, TBeamline< T >, ScalingFFAMagnet, RBend3D, VerticalFFAMagnet, StripperRep, MarkerRep, VacuumRep, RBendRep, SBendRep, UndulatorRep, CCollimatorRep, CorrectorRep, CyclotronRep, DegraderRep, DriftRep, FlexibleCollimatorRep, MonitorRep, RFCavityRep, SolenoidRep, SourceRep, TravelingWaveRep, ProbeRep, SeptumRep, XCorrectorRep, YCorrectorRep, and MultipoleRep.
Referenced by Ring::appendElement(), Sequence::copy(), copyStructure(), RingSection::operator=(), ParallelCyclotronTracker::ParallelCyclotronTracker(), ParallelCyclotronTracker::visitCCollimator(), ParallelCyclotronTracker::visitCorrector(), ParallelCyclotronTracker::visitCyclotron(), ParallelCyclotronTracker::visitDegrader(), 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 244 of file ElementBase.cpp.
References clone(), and isSharable().
Referenced by Sequence::copy(), Line::parse(), SequenceParser::parseMember(), and Replacer::visitFlaggedElmPtr().
|
inline |
Definition at line 551 of file ElementBase.h.
References positionIsFixed.
Referenced by OpalRBend::update(), OpalSBend::update(), OpalRBend3D::update(), and OpalElement::update().
|
inline |
Definition at line 525 of file ElementBase.h.
References aperture_m.
Referenced by MeshGenerator::add(), and Offset::operator=().
|
inlinevirtual |
Get arc length.
Reimplemented in TBeamline< T >, and MarkerRep.
Definition at line 411 of file ElementBase.h.
References BGeometryBase::getArcLength(), and getGeometry().
Referenced by BeamlineGeometry::getArcLength(), and TBeamline< T >::getTransform().
|
virtual |
Get attribute value.
Definition at line 187 of file ElementBase.cpp.
References getConstChannel().
|
inlinevirtual |
return the attached boundary geometrt object if there is any
Definition at line 475 of file ElementBase.h.
References bgeometry_m.
|
virtual |
Reimplemented in Bend2D.
Definition at line 313 of file ElementBase.cpp.
References aperture_m, csTrafoGlobal2Local_m, BoundingBox::getBoundingBox(), getEdgeToBegin(), getEdgeToEnd(), and CoordinateSystemTrafo::transformFrom().
|
virtual |
Construct a read/write channel.
Reimplemented in SingleMultipole< order >, StripperRep, VacuumRep, RBendRep, SBendRep, UndulatorRep, CCollimatorRep, CorrectorRep, CyclotronRep, DegraderRep, DriftRep, FlexibleCollimatorRep, MonitorRep, RFCavityRep, SolenoidRep, SourceRep, TravelingWaveRep, ProbeRep, SeptumRep, XCorrectorRep, YCorrectorRep, and MultipoleRep.
Definition at line 228 of file ElementBase.cpp.
References AttributeSet::getChannel(), and userAttribs.
Referenced by MultipoleRep::getChannel(), ProbeRep::getChannel(), XCorrectorRep::getChannel(), SeptumRep::getChannel(), YCorrectorRep::getChannel(), CorrectorRep::getChannel(), FlexibleCollimatorRep::getChannel(), SolenoidRep::getChannel(), MonitorRep::getChannel(), SourceRep::getChannel(), DriftRep::getChannel(), CyclotronRep::getChannel(), TravelingWaveRep::getChannel(), CCollimatorRep::getChannel(), RFCavityRep::getChannel(), DegraderRep::getChannel(), UndulatorRep::getChannel(), RBendRep::getChannel(), SBendRep::getChannel(), VacuumRep::getChannel(), StripperRep::getChannel(), SingleMultipole< order >::getChannel(), getConstChannel(), and setAttribute().
|
virtual |
Construct a read-only channel.
Definition at line 233 of file ElementBase.cpp.
References getChannel().
Referenced by getAttribute(), and hasAttribute().
|
inline |
Definition at line 498 of file ElementBase.h.
References csTrafoGlobal2Local_m.
Referenced by MeshGenerator::add(), ParallelTTracker::computeParticleMatterInteraction(), Monitor::driftToCorrectPositionAndSave(), OpalRBend::update(), OpalSBend::update(), and OpalRBend3D::update().
|
inlinevirtual |
Reimplemented in RFCavity, Solenoid, and TravelingWave.
Definition at line 503 of file ElementBase.h.
Referenced by Bend2D::getBoundingBoxInLabCoords(), getBoundingBoxInLabCoords(), and isInsideTransverse().
|
inlinevirtual |
Reimplemented in RFCavity, Bend2D, Solenoid, and TravelingWave.
Definition at line 511 of file ElementBase.h.
References getElementLength().
Referenced by getBoundingBoxInLabCoords().
|
inlinevirtual |
Reimplemented in RFCavity, Solenoid, and TravelingWave.
Definition at line 174 of file ElementBase.h.
References getElementLength().
Referenced by MeshGenerator::add().
|
inlinevirtual |
Get design length.
Reimplemented in RFCavity, TBeamline< T >, and MarkerRep.
Definition at line 415 of file ElementBase.h.
References BGeometryBase::getElementLength(), and getGeometry().
Referenced by ScatteringPhysics::addBackToBunch(), Solenoid::apply(), Corrector::apply(), Component::apply(), Multipole::apply(), Solenoid::applyToReferenceParticle(), Component::applyToReferenceParticle(), Multipole::applyToReferenceParticle(), Vacuum::checkPoint(), ScatteringPhysics::copyFromBunch(), RBend::findChordLength(), SBend::findChordLength(), CCollimator::getDimensions(), Drift::getDimensions(), FlexibleCollimator::getDimensions(), Degrader::getDimensions(), Solenoid::getDimensions(), RBend3D::getDimensions(), Vacuum::getDimensions(), Corrector::getDimensions(), Multipole::getDimensions(), Solenoid::getEdgeToEnd(), getEdgeToEnd(), Solenoid::getElementDimensions(), getElementDimensions(), BeamlineGeometry::getElementLength(), RFCavity::getElementLength(), Source::initialise(), Drift::initialise(), FlexibleCollimator::initialise(), Degrader::initialise(), Solenoid::initialise(), RBend3D::initialise(), Vacuum::initialise(), Corrector::initialise(), Multipole::initialise(), Degrader::isInside(), Monitor::isInside(), Multipole::isInside(), isInside(), isInsideTransverse(), FlexibleCollimator::isStopped(), ScatteringPhysics::setTimeStepForLeavingParticles(), Bend2D::setupDefaultFieldMap(), ParallelCyclotronTracker::visitCorrector(), ParallelCyclotronTracker::visitDegrader(), ParallelCyclotronTracker::visitDrift(), ThickTracker::visitDrift(), ParallelCyclotronTracker::visitMultipole(), ThickTracker::visitMultipole(), ParallelCyclotronTracker::visitRBend(), ParallelCyclotronTracker::visitSBend(), and ThickTracker::visitSBend().
|
inline |
Definition at line 589 of file ElementBase.h.
References elemedgeSet_m, elementPosition_m, and getName().
|
inlinevirtual |
Get entrance position.
Reimplemented in TBeamline< T >.
Definition at line 427 of file ElementBase.h.
References BGeometryBase::getEntrance(), and getGeometry().
Referenced by BeamlineGeometry::getEntrance().
|
inlinevirtual |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 447 of file ElementBase.h.
References BGeometryBase::getEntranceFrame(), and getGeometry().
Referenced by BeamlineGeometry::getEntranceFrame().
|
inlinevirtual |
Get patch.
Definition at line 455 of file ElementBase.h.
References BGeometryBase::getEntrancePatch(), and getGeometry().
|
inlinevirtual |
Get exit position.
Reimplemented in TBeamline< T >.
Definition at line 431 of file ElementBase.h.
References BGeometryBase::getExit(), and getGeometry().
Referenced by BeamlineGeometry::getExit().
|
inlinevirtual |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 451 of file ElementBase.h.
References BGeometryBase::getExitFrame(), and getGeometry().
Referenced by BeamlineGeometry::getExitFrame().
|
inlinevirtual |
Get patch.
Definition at line 459 of file ElementBase.h.
References BGeometryBase::getExitPatch(), and getGeometry().
|
inline |
Definition at line 614 of file ElementBase.h.
References deleteOnTransverseExit_m.
Referenced by Solenoid::apply(), TravelingWave::apply(), Bend2D::apply(), Corrector::apply(), RFCavity::apply(), MultipoleTBase::apply(), Multipole::apply(), MultipoleT::apply(), and FlexibleCollimator::isStopped().
|
pure virtual |
Get geometry.
Implemented in OutputPlane, VariableRFCavity, Ring, Offset, MultipoleT, ScalingFFAMagnet, VerticalFFAMagnet, Multipole, SBend3D, MultipoleTStraight, MultipoleTCurvedVarRadius, MultipoleTCurvedConstRadius, SBend, CyclotronRep, RBend, Corrector, TBeamline< T >, SingleMultipole< order >, StripperRep, VacuumRep, ProbeRep, SeptumRep, Monitor, RBendRep, SBendRep, MarkerRep, MonitorRep, RFCavityRep, TravelingWaveRep, UndulatorRep, CCollimatorRep, DegraderRep, DriftRep, FlexibleCollimatorRep, SolenoidRep, SourceRep, MultipoleRep, RBend3D, and CorrectorRep.
Referenced by Ring::appendElement(), getArcLength(), getElementLength(), getEntrance(), getEntranceFrame(), getEntrancePatch(), getExit(), getExitFrame(), getExitPatch(), getOrigin(), getTotalTransform(), getTransform(), and setElementLength().
|
pure virtual |
Get geometry.
Implemented in OutputPlane, VariableRFCavity, Ring, Offset, MultipoleT, ScalingFFAMagnet, VerticalFFAMagnet, Multipole, SBend3D, MultipoleTStraight, MultipoleTCurvedVarRadius, MultipoleTCurvedConstRadius, SBend, CyclotronRep, RBend, Corrector, StripperRep, TBeamline< T >, SingleMultipole< order >, ProbeRep, SeptumRep, VacuumRep, MarkerRep, MonitorRep, RBendRep, RFCavityRep, SBendRep, TravelingWaveRep, Monitor, UndulatorRep, CCollimatorRep, DegraderRep, DriftRep, FlexibleCollimatorRep, MultipoleRep, SolenoidRep, SourceRep, RBend3D, and CorrectorRep.
void ElementBase::getMisalignment | ( | double & | x, |
double & | y, | ||
double & | s | ||
) | const |
Referenced by ParallelTTracker::computeParticleMatterInteraction().
|
inline |
Definition at line 541 of file ElementBase.h.
References misalignment_m.
|
virtual |
Get element name.
Definition at line 162 of file ElementBase.cpp.
References elementID.
Referenced by Ring::appendElement(), Ring::apply(), Cyclotron::apply(), Bend2D::calculateRefTrajectory(), OutputPlane::checkOne(), Vacuum::checkPressure(), Stripper::doCheck(), Stripper::doFinalise(), CCollimator::doFinalise(), Probe::doGoOffline(), OutputPlane::doGoOffline(), OutputPlane::doInitialise(), PlaceRep::enter(), FlexibleCollimator::finalise(), Degrader::finalise(), Vacuum::finalise(), Cyclotron::finalise(), PyOpal::Field::getElementName(), getElementPosition(), RFCavity::getMomentaKick(), BeamStrippingPhysics::getName(), ScatteringPhysics::getName(), Bend2D::getOutline(), getOutputFN(), CavityAutophaser::getPhaseAtMaxEnergy(), Selector::handleElement(), Solenoid::initialise(), RBend3D::initialise(), Bend2D::initialise(), RFCavity::initialise(), Ring::initialise(), CSRIGFWakeFunction::initialize(), CSRWakeFunction::initialize(), OpalWake::initWakefunction(), PlaceRep::leave(), operator<<(), VariableRFCavity::operator=(), Offset::operator=(), operator==(), Line::parse(), ParticleMatterInteraction::print(), BeamStrippingPhysics::print(), ScatteringPhysics::print(), Sequence::print(), Vacuum::print(), Bend2D::readFieldMap(), PyOpal::PyLine_< C >::registerObject(), Component::trackBunch(), Component::trackMap(), RBend3D::trackRefParticleThrough(), OpalRBend::update(), OpalSBend::update(), OpalRBend3D::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 423 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getOrigin().
Referenced by BeamlineGeometry::getOrigin().
std::string ElementBase::getOutputFN | ( | ) | const |
Get output filename.
Definition at line 177 of file ElementBase.cpp.
References getName(), and outputfn_m.
Referenced by Probe::doInitialise(), PluginElement::initialise(), Source::initialise(), FlexibleCollimator::initialise(), Monitor::initialise(), and Cyclotron::initialise().
|
inlinevirtual |
Definition at line 483 of file ElementBase.h.
References parmatint_m.
Referenced by Degrader::applyToReferenceParticle(), CCollimator::doInitialise(), FlexibleCollimator::initialise(), and Vacuum::initialise().
|
inlinevirtual |
|
inline |
Definition at line 574 of file ElementBase.h.
References rotationZAxis_m.
Referenced by OpalBeamline::compute3DLattice(), and Bend2D::setFieldCalcParam().
|
inlinevirtual |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 439 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getTotalTransform().
Referenced by BeamlineGeometry::getTotalTransform().
|
inlinevirtual |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 435 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 443 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getTransform().
|
pure virtual |
Get element type std::string.
Implemented in OutputPlane, RFCavity, Component, SBend, RBend, TBeamline< T >, Multipole, Cyclotron, Corrector, Vacuum, Bend2D, Monitor, RBend3D, Solenoid, TravelingWave, Degrader, FlexibleCollimator, Source, Drift, Marker, Undulator, Probe, Stripper, CCollimator, and Septum.
Referenced by MeshGenerator::add(), BeamStrippingPhysics::apply(), getTypeString(), CSRWakeFunction::initialize(), CSRIGFWakeFunction::initialize(), and ScatteringPhysics::ScatteringPhysics().
|
inline |
Definition at line 579 of file ElementBase.h.
References getType().
Referenced by ParallelCyclotronTracker::execute(), and Vacuum::print().
|
static |
Definition at line 240 of file ElementBase.cpp.
References elementTypeToString_s.
|
inlinevirtual |
return the attached wake object if there is any
Definition at line 467 of file ElementBase.h.
References wake_m.
|
virtual |
Test for existence of an attribute.
Definition at line 200 of file ElementBase.cpp.
References getConstChannel().
Referenced by ParallelCyclotronTracker::visitSolenoid().
|
inlinevirtual |
Definition at line 479 of file ElementBase.h.
References bgeometry_m.
|
inlinevirtual |
Definition at line 487 of file ElementBase.h.
References parmatint_m.
|
inlinevirtual |
Definition at line 471 of file ElementBase.h.
References wake_m.
|
inline |
Definition at line 598 of file ElementBase.h.
References elemedgeSet_m.
|
inlinevirtual |
Reimplemented in RFCavity, Multipole, Bend2D, Monitor, RBend3D, Solenoid, TravelingWave, and Degrader.
Definition at line 530 of file ElementBase.h.
References getElementLength(), and isInsideTransverse().
|
protected |
Definition at line 287 of file ElementBase.cpp.
References abs(), aperture_m, CONIC_ELLIPTICAL, CONIC_RECTANGULAR, ELLIPTICAL, getEdgeToBegin(), getElementLength(), pow(), RECTANGULAR, and CoordinateSystemTrafo::transformTo().
Referenced by Corrector::apply(), Component::apply(), Multipole::apply(), Component::applyToReferenceParticle(), Multipole::applyToReferenceParticle(), TravelingWave::isInside(), Solenoid::isInside(), Monitor::isInside(), Multipole::isInside(), RFCavity::isInside(), isInside(), and FlexibleCollimator::isStopped().
|
inline |
Definition at line 556 of file ElementBase.h.
References positionIsFixed.
Referenced by OpalRBend::update(), OpalSBend::update(), and OpalRBend3D::update().
|
inline |
Test if the element can be shared.
Definition at line 463 of file ElementBase.h.
References shareFlag.
Referenced by copyStructure(), and Sequence::updateList().
|
virtual |
Set sharable flag.
Reimplemented in TBeamline< T >.
Definition at line 253 of file ElementBase.cpp.
References shareFlag.
Referenced by OpalMarker::OpalMarker(), and Element::setShared().
|
private |
|
inline |
Definition at line 546 of file ElementBase.h.
References positionIsFixed.
Referenced by OpalRBend::update(), OpalSBend::update(), and OpalRBend3D::update().
|
virtual |
Remove an existing attribute.
Definition at line 212 of file ElementBase.cpp.
References AttributeSet::removeAttribute(), and userAttribs.
|
inline |
Definition at line 561 of file ElementBase.h.
References actionRange_m, and elementEdge_m.
|
inline |
Definition at line 519 of file ElementBase.h.
References aperture_m, and type.
Referenced by Component::Component(), Offset::operator=(), OpalRBend::update(), OpalSBend::update(), OpalSlit::update(), OpalRBend3D::update(), and OpalElement::update().
|
virtual |
Set value of an attribute.
Definition at line 217 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 270 of file ElementBase.cpp.
References bgeometry_m.
Referenced by OpalDrift::update(), OpalCavity::update(), and OpalCyclotron::update().
|
inline |
Definition at line 491 of file ElementBase.h.
References csTrafoGlobal2Local_m, and positionIsFixed.
Referenced by OpalRBend::update(), OpalSBend::update(), OpalRBend3D::update(), and OpalElement::update().
void ElementBase::setCurrentSCoordinate | ( | double | s | ) |
Definition at line 278 of file ElementBase.cpp.
References actionRange_m, and elementEdge_m.
|
inlinevirtual |
Set design length.
Definition at line 419 of file ElementBase.h.
References getGeometry(), and BGeometryBase::setElementLength().
Referenced by Solenoid::initialise(), TravelingWave::initialise(), RBend3D::initialise(), Bend2D::initialise(), RFCavity::initialise(), SequenceMember::setLength(), OpalMonitor::update(), OpalDegrader::update(), OpalSource::update(), OpalECollimator::update(), OpalHKicker::update(), OpalRCollimator::update(), OpalSlit::update(), OpalFlexibleCollimator::update(), OpalSolenoid::update(), OpalSeptum::update(), OpalProbe::update(), OpalPepperPot::update(), OpalCCollimator::update(), OpalRBend3D::update(), OpalSextupole::update(), OpalMultipole::update(), OpalUndulator::update(), OpalDrift::update(), OpalOctupole::update(), OpalQuadrupole::update(), OpalVacuum::update(), OpalMultipoleT::update(), OpalVKicker::update(), OpalTravelingWave::update(), OpalStripper::update(), OpalKicker::update(), OpalCavity::update(), OpalMultipoleTStraight::update(), OpalMultipoleTCurvedVarRadius::update(), and OpalMultipoleTCurvedConstRadius::update().
|
inline |
Access to ELEMEDGE attribute.
Definition at line 583 of file ElementBase.h.
References elemedgeSet_m, and elementPosition_m.
Referenced by OpalElement::update().
|
inline |
Definition at line 608 of file ElementBase.h.
References deleteOnTransverseExit_m.
Referenced by OpalElement::update().
|
inline |
Definition at line 536 of file ElementBase.h.
References misalignment_m.
Referenced by OpalElement::update().
|
virtual |
Set element name.
Definition at line 167 of file ElementBase.cpp.
References elementID, and name.
Referenced by Sequence::insertDrifts(), VariableRFCavity::operator=(), and Offset::operator=().
void ElementBase::setOutputFN | ( | std::string | fn | ) |
Set output filename.
Definition at line 172 of file ElementBase.cpp.
References outputfn_m.
Referenced by OpalMonitor::update(), OpalSource::update(), OpalECollimator::update(), OpalRCollimator::update(), OpalSlit::update(), OpalFlexibleCollimator::update(), OpalSeptum::update(), OpalProbe::update(), OpalPepperPot::update(), OpalCCollimator::update(), OpalStripper::update(), OpalOutputPlane::update(), and OpalCyclotron::update().
|
virtual |
Definition at line 274 of file ElementBase.cpp.
References parmatint_m.
Referenced by OpalRBend::update(), OpalSBend::update(), OpalDegrader::update(), OpalECollimator::update(), OpalRCollimator::update(), OpalSlit::update(), OpalFlexibleCollimator::update(), OpalPepperPot::update(), OpalCCollimator::update(), OpalRBend3D::update(), OpalDrift::update(), OpalQuadrupole::update(), and OpalVacuum::update().
|
inline |
Set rotation about z axis in bend frame.
Definition at line 569 of file ElementBase.h.
References rotationZAxis_m.
Referenced by OpalElement::update().
|
virtual |
attach a wake field to the element
Definition at line 266 of file ElementBase.cpp.
References wake_m.
Referenced by OpalRBend::update(), OpalSBend::update(), OpalSeptum::update(), OpalProbe::update(), OpalRBend3D::update(), OpalDrift::update(), OpalTravelingWave::update(), and OpalCavity::update().
bool ElementBase::update | ( | const AttributeSet & | set | ) |
Update element.
Definition at line 258 of file ElementBase.cpp.
References AttributeSet::begin(), AttributeSet::end(), and setAttribute().
Referenced by Monitor::driftToCorrectPositionAndSave().
|
private |
Definition at line 399 of file ElementBase.h.
Referenced by setActionRange(), and setCurrentSCoordinate().
|
protected |
Definition at line 369 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 390 of file ElementBase.h.
Referenced by ElementBase(), getBoundaryGeometry(), hasBoundaryGeometry(), and setBoundaryGeometry().
|
protected |
Definition at line 366 of file ElementBase.h.
Referenced by Monitor::applyToReferenceParticle(), Bend2D::getBoundingBoxInLabCoords(), getBoundingBoxInLabCoords(), getCSTrafoGlobal2Local(), and setCSTrafoGlobal2Local().
|
private |
Definition at line 403 of file ElementBase.h.
Referenced by getFlagDeleteOnTransverseExit(), and setFlagDeleteOnTransverseExit().
|
private |
Definition at line 397 of file ElementBase.h.
Referenced by getElementPosition(), isElementPositionSet(), and setElementPosition().
|
protected |
Definition at line 371 of file ElementBase.h.
Referenced by Bend2D::getEffectiveCenter(), Bend2D::initialise(), Bend2D::print(), setActionRange(), setCurrentSCoordinate(), and Bend2D::setupBendGeometry().
|
private |
Definition at line 381 of file ElementBase.h.
|
private |
ELEMEDGE attribute.
Definition at line 396 of file ElementBase.h.
Referenced by getElementPosition(), and setElementPosition().
|
staticprivate |
Definition at line 383 of file ElementBase.h.
Referenced by getTypeString().
|
protected |
Definition at line 367 of file ElementBase.h.
Referenced by getMisalignment(), and setMisalignment().
|
private |
The name of the outputfile
Definition at line 401 of file ElementBase.h.
Referenced by getOutputFN(), and setOutputFN().
|
private |
Definition at line 392 of file ElementBase.h.
Referenced by ElementBase(), getParticleMatterInteraction(), hasParticleMatterInteraction(), and setParticleMatterInteraction().
|
private |
Definition at line 394 of file ElementBase.h.
Referenced by fixPosition(), isPositioned(), releasePosition(), and setCSTrafoGlobal2Local().
|
protected |
Definition at line 373 of file ElementBase.h.
Referenced by Bend2D::findIdealBendParameters(), getRotationAboutZ(), RBend3D::initialise(), Bend2D::print(), and setRotationAboutZ().
|
mutableprotected |
Definition at line 364 of file ElementBase.h.
Referenced by Beamline::Beamline(), isSharable(), and makeSharable().
|
private |
Definition at line 386 of file ElementBase.h.
Referenced by getChannel(), and removeAttribute().
|
private |
Definition at line 388 of file ElementBase.h.