OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <ElementBase.h>
Classes | |
struct | BoundingBox |
Public Types | |
enum | ApertureType { RECTANGULAR , ELLIPTICAL , CONIC_RECTANGULAR , CONIC_ELLIPTICAL } |
enum | ElementType { BEAMLINE , CCOLLIMATOR , CORRECTOR , CYCLOTRON , DEGRADER , DRIFT , FLEXIBLECOLLIMATOR , MARKER , MONITOR , MPSPLITINTEGRATOR , MULTIPOLE , MULTIPOLET , OFFSET , PROBE , RBEND , RBEND3D , RFCAVITY , RING , SBEND3D , SBEND , SEPTUM , SOLENOID , SOURCE , STRIPPER , TRAVELINGWAVE , UNDULATOR , VACUUM , VARIABLERFCAVITY , ANY } |
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< ElementBase::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 | 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 |
double | elementPosition_m |
ELEMEDGE attribute. More... | |
bool | elemedgeSet_m |
Definition at line 86 of file ElementBase.h.
Enumerator | |
---|---|
RECTANGULAR | |
ELLIPTICAL | |
CONIC_RECTANGULAR | |
CONIC_ELLIPTICAL |
Definition at line 102 of file ElementBase.h.
Definition at line 108 of file ElementBase.h.
|
explicit |
Constructor with given name.
Definition at line 105 of file ElementBase.cpp.
ElementBase::ElementBase | ( | ) |
Definition at line 72 of file ElementBase.cpp.
ElementBase::ElementBase | ( | const ElementBase & | right | ) |
Definition at line 77 of file ElementBase.cpp.
References bgeometry_m, parmatint_m, BoundaryGeometry::updateElement(), and ParticleMatterInteractionHandler::updateElement().
|
virtual |
Definition at line 124 of file ElementBase.cpp.
|
pure virtual |
Apply visitor.
Implemented in ScalingFFAMagnet, SBend3D, Ring, MultipoleTStraight, MultipoleTCurvedVarRadius, MultipoleTCurvedConstRadius, MultipoleT, VerticalFFAMagnet, Bend2D, VariableRFCavityFringeField, VariableRFCavity, TravelingWave, Stripper, Source, Solenoid, Septum, SBend, RFCavity, RBend3D, RBend, Probe, Offset, Multipole, Monitor, Marker, FlexibleCollimator, Drift, CCollimator, TBeamline< T >, Vacuum, Undulator, Degrader, Cyclotron, and Corrector.
Referenced by ElmPtr::accept(), ParallelCyclotronTracker::execute(), DefaultVisitor::execute(), ParallelTTracker::prepareSections(), ThickTracker::prepareSections(), SpecificElementVisitor< ELEM >::visitFlaggedElmPtr(), and DefaultVisitor::visitFlaggedElmPtr().
|
pure virtual |
Return clone.
Implemented in VariableRFCavityFringeField, VariableRFCavity, ScalingFFAMagnet, SBend3D, Ring, RBend3D, Offset, MultipoleTStraight, MultipoleTCurvedVarRadius, MultipoleTCurvedConstRadius, MultipoleT, TBeamline< T >, YCorrectorRep, XCorrectorRep, VacuumRep, UndulatorRep, TravelingWaveRep, StripperRep, SourceRep, SolenoidRep, SingleMultipole< order >, SeptumRep, SBendRep, RFCavityRep, RBendRep, ProbeRep, MultipoleRep, MonitorRep, MarkerRep, FlexibleCollimatorRep, DriftRep, DegraderRep, CyclotronRep, CorrectorRep, CCollimatorRep, and VerticalFFAMagnet.
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 262 of file ElementBase.cpp.
References clone(), and isSharable().
Referenced by Sequence::copy(), SequenceParser::parseMember(), and Replacer::visitFlaggedElmPtr().
|
inline |
Definition at line 568 of file ElementBase.h.
References positionIsFixed.
Referenced by OpalElement::update(), OpalRBend::update(), OpalRBend3D::update(), and OpalSBend::update().
|
inline |
Definition at line 542 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 428 of file ElementBase.h.
References BGeometryBase::getArcLength(), and getGeometry().
Referenced by BeamlineGeometry::getArcLength(), and TBeamline< T >::getTransform().
|
virtual |
Get attribute value.
Definition at line 153 of file ElementBase.cpp.
References getConstChannel().
|
inlinevirtual |
return the attached boundary geometrt object if there is any
Definition at line 492 of file ElementBase.h.
References bgeometry_m.
|
virtual |
Reimplemented in Bend2D.
Definition at line 393 of file ElementBase.cpp.
References aperture_m, csTrafoGlobal2Local_m, getEdgeToBegin(), getEdgeToEnd(), ElementBase::BoundingBox::lowerLeftCorner, CoordinateSystemTrafo::transformFrom(), and ElementBase::BoundingBox::upperRightCorner.
|
virtual |
Construct a read/write channel.
Reimplemented in YCorrectorRep, XCorrectorRep, VacuumRep, UndulatorRep, TravelingWaveRep, StripperRep, SourceRep, SolenoidRep, SingleMultipole< order >, SeptumRep, SBendRep, RFCavityRep, RBendRep, ProbeRep, MultipoleRep, MonitorRep, FlexibleCollimatorRep, DriftRep, DegraderRep, CyclotronRep, CorrectorRep, and CCollimatorRep.
Definition at line 194 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 199 of file ElementBase.cpp.
References getChannel().
Referenced by getAttribute(), and hasAttribute().
|
inline |
Definition at line 515 of file ElementBase.h.
References csTrafoGlobal2Local_m.
Referenced by MeshGenerator::add(), ParallelTTracker::computeParticleMatterInteraction(), OpalRBend::update(), OpalRBend3D::update(), and OpalSBend::update().
|
inlinevirtual |
Reimplemented in TravelingWave, Solenoid, and RFCavity.
Definition at line 520 of file ElementBase.h.
Referenced by getBoundingBoxInLabCoords(), Bend2D::getBoundingBoxInLabCoords(), and isInsideTransverse().
|
inlinevirtual |
Reimplemented in TravelingWave, Solenoid, RFCavity, and Bend2D.
Definition at line 528 of file ElementBase.h.
References getElementLength().
Referenced by getBoundingBoxInLabCoords().
|
inlinevirtual |
Reimplemented in Solenoid, TravelingWave, and RFCavity.
Definition at line 168 of file ElementBase.h.
References begin(), end(), and getElementLength().
Referenced by MeshGenerator::add().
|
inlinevirtual |
Get design length.
Reimplemented in RFCavity, TBeamline< T >, and MarkerRep.
Definition at line 432 of file ElementBase.h.
References BGeometryBase::getElementLength(), and getGeometry().
Referenced by ScatteringPhysics::addBackToBunch(), Component::apply(), Multipole::apply(), Corrector::apply(), Solenoid::apply(), Component::applyToReferenceParticle(), Multipole::applyToReferenceParticle(), Solenoid::applyToReferenceParticle(), ScatteringPhysics::copyFromBunch(), RBend::findChordLength(), SBend::findChordLength(), Corrector::getDimensions(), Degrader::getDimensions(), CCollimator::getDimensions(), Drift::getDimensions(), FlexibleCollimator::getDimensions(), Multipole::getDimensions(), RBend3D::getDimensions(), Solenoid::getDimensions(), getEdgeToEnd(), Solenoid::getEdgeToEnd(), getElementDimensions(), Solenoid::getElementDimensions(), BeamlineGeometry::getElementLength(), RFCavity::getElementLength(), Corrector::initialise(), Degrader::initialise(), Vacuum::initialise(), Drift::initialise(), FlexibleCollimator::initialise(), Multipole::initialise(), RBend3D::initialise(), Solenoid::initialise(), Source::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 606 of file ElementBase.h.
References elemedgeSet_m, elementPosition_m, and getName().
|
inlinevirtual |
Get entrance position.
Reimplemented in TBeamline< T >.
Definition at line 444 of file ElementBase.h.
References BGeometryBase::getEntrance(), and getGeometry().
Referenced by BeamlineGeometry::getEntrance().
|
inlinevirtual |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 464 of file ElementBase.h.
References BGeometryBase::getEntranceFrame(), and getGeometry().
Referenced by BeamlineGeometry::getEntranceFrame().
|
inlinevirtual |
Get patch.
Definition at line 472 of file ElementBase.h.
References BGeometryBase::getEntrancePatch(), and getGeometry().
|
inlinevirtual |
Get exit position.
Reimplemented in TBeamline< T >.
Definition at line 448 of file ElementBase.h.
References BGeometryBase::getExit(), and getGeometry().
Referenced by BeamlineGeometry::getExit().
|
inlinevirtual |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 468 of file ElementBase.h.
References BGeometryBase::getExitFrame(), and getGeometry().
Referenced by BeamlineGeometry::getExitFrame().
|
inlinevirtual |
Get patch.
Definition at line 476 of file ElementBase.h.
References BGeometryBase::getExitPatch(), and getGeometry().
|
pure virtual |
Get geometry.
Implemented in SBend, RBend, Multipole, Monitor, VariableRFCavity, ScalingFFAMagnet, SBend3D, Ring, RBend3D, Offset, MultipoleTStraight, MultipoleTCurvedVarRadius, MultipoleTCurvedConstRadius, MultipoleT, Corrector, TBeamline< T >, VacuumRep, UndulatorRep, TravelingWaveRep, StripperRep, SourceRep, SolenoidRep, SingleMultipole< order >, SeptumRep, SBendRep, RFCavityRep, RBendRep, ProbeRep, MultipoleRep, MonitorRep, MarkerRep, FlexibleCollimatorRep, DriftRep, DegraderRep, CyclotronRep, CorrectorRep, CCollimatorRep, and VerticalFFAMagnet.
|
pure virtual |
Get geometry.
Implemented in Corrector, SBend, RBend, Multipole, Monitor, VariableRFCavity, ScalingFFAMagnet, SBend3D, Ring, RBend3D, Offset, MultipoleTStraight, MultipoleTCurvedVarRadius, MultipoleTCurvedConstRadius, MultipoleT, TBeamline< T >, VacuumRep, UndulatorRep, TravelingWaveRep, StripperRep, SourceRep, SolenoidRep, SingleMultipole< order >, SeptumRep, SBendRep, RFCavityRep, RBendRep, ProbeRep, MultipoleRep, MonitorRep, MarkerRep, FlexibleCollimatorRep, DriftRep, DegraderRep, CyclotronRep, CorrectorRep, CCollimatorRep, and VerticalFFAMagnet.
Referenced by Ring::appendElement(), getArcLength(), getElementLength(), getEntrance(), getEntranceFrame(), getEntrancePatch(), getExit(), getExitFrame(), getExitPatch(), getOrigin(), getTotalTransform(), getTransform(), and setElementLength().
|
inline |
Definition at line 558 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 129 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(), FlexibleCollimator::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==(), ScatteringPhysics::print(), Sequence::print(), ParticleMatterInteraction::print(), Bend2D::readFieldMap(), RFCavity::setComponentType(), 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 440 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getOrigin().
Referenced by BeamlineGeometry::getOrigin().
std::string ElementBase::getOutputFN | ( | ) | const |
Get output filename.
Definition at line 144 of file ElementBase.cpp.
References getName(), and outputfn_m.
Referenced by Probe::doInitialise(), Degrader::initialise(), PluginElement::initialise(), Cyclotron::initialise(), FlexibleCollimator::initialise(), Monitor::initialise(), and Source::initialise().
|
inlinevirtual |
Definition at line 500 of file ElementBase.h.
References parmatint_m.
Referenced by Degrader::applyToReferenceParticle(), CCollimator::doInitialise(), Vacuum::initialise(), and FlexibleCollimator::initialise().
|
inlinevirtual |
|
inline |
Definition at line 591 of file ElementBase.h.
References rotationZAxis_m.
Referenced by OpalBeamline::compute3DLattice(), and Bend2D::setFieldCalcParam().
|
inlinevirtual |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 456 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getTotalTransform().
Referenced by BeamlineGeometry::getTotalTransform().
|
inlinevirtual |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 452 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 460 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getTransform().
|
pure virtual |
Get element type std::string.
Implemented in Bend2D, TravelingWave, Stripper, Source, Solenoid, Septum, SBend, RFCavity, RBend3D, RBend, Probe, Multipole, Monitor, Marker, FlexibleCollimator, Drift, CCollimator, TBeamline< T >, Vacuum, Undulator, Degrader, Cyclotron, Corrector, and Component.
Referenced by MeshGenerator::add(), getTypeString(), and ScatteringPhysics::ScatteringPhysics().
|
inline |
Definition at line 596 of file ElementBase.h.
References getType().
Referenced by ParallelCyclotronTracker::execute(), and OpalBeamline::visit().
|
static |
|
inlinevirtual |
return the attached wake object if there is any
Definition at line 484 of file ElementBase.h.
References wake_m.
|
virtual |
Test for existence of an attribute.
Definition at line 166 of file ElementBase.cpp.
References getConstChannel().
Referenced by ParallelCyclotronTracker::visitSolenoid().
|
inlinevirtual |
Definition at line 496 of file ElementBase.h.
References bgeometry_m.
|
inlinevirtual |
Definition at line 504 of file ElementBase.h.
References parmatint_m.
|
inlinevirtual |
Definition at line 488 of file ElementBase.h.
References wake_m.
|
inline |
Definition at line 615 of file ElementBase.h.
References elemedgeSet_m.
|
inlinevirtual |
Reimplemented in TravelingWave, Solenoid, RFCavity, RBend3D, Multipole, Monitor, and Bend2D.
Definition at line 547 of file ElementBase.h.
References getElementLength(), and isInsideTransverse().
|
protected |
Definition at line 305 of file ElementBase.cpp.
References abs(), aperture_m, CONIC_ELLIPTICAL, CONIC_RECTANGULAR, ELLIPTICAL, getEdgeToBegin(), getElementLength(), pow(), RECTANGULAR, and CoordinateSystemTrafo::transformTo().
Referenced by Component::apply(), Multipole::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 573 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 480 of file ElementBase.h.
References shareFlag.
Referenced by copyStructure(), and Sequence::updateList().
|
virtual |
Set sharable flag.
Reimplemented in TBeamline< T >.
Definition at line 271 of file ElementBase.cpp.
References shareFlag.
Referenced by OpalMarker::OpalMarker(), and Element::setShared().
|
private |
|
inline |
Definition at line 563 of file ElementBase.h.
References positionIsFixed.
Referenced by OpalRBend::update(), OpalRBend3D::update(), and OpalSBend::update().
|
virtual |
Remove an existing attribute.
Definition at line 178 of file ElementBase.cpp.
References AttributeSet::removeAttribute(), and userAttribs.
|
inline |
Definition at line 578 of file ElementBase.h.
References actionRange_m, and elementEdge_m.
|
inline |
Definition at line 536 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 183 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 288 of file ElementBase.cpp.
References bgeometry_m.
Referenced by OpalCavity::update(), OpalCyclotron::update(), and OpalDrift::update().
|
inline |
Definition at line 508 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 296 of file ElementBase.cpp.
References actionRange_m, and elementEdge_m.
|
inlinevirtual |
Set design length.
Definition at line 436 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(), and OpalVKicker::update().
|
inline |
Access to ELEMEDGE attribute.
Definition at line 600 of file ElementBase.h.
References elemedgeSet_m, and elementPosition_m.
Referenced by OpalElement::update().
|
inline |
Definition at line 553 of file ElementBase.h.
References misalignment_m.
Referenced by OpalElement::update().
|
virtual |
Set element name.
Definition at line 134 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 139 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 292 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 586 of file ElementBase.h.
References rotationZAxis_m.
Referenced by OpalElement::update().
|
virtual |
attach a wake field to the element
Definition at line 284 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 276 of file ElementBase.cpp.
References AttributeSet::begin(), AttributeSet::end(), and setAttribute().
|
private |
Definition at line 418 of file ElementBase.h.
Referenced by setActionRange(), and setCurrentSCoordinate().
|
protected |
Definition at line 390 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 409 of file ElementBase.h.
Referenced by ElementBase(), getBoundaryGeometry(), hasBoundaryGeometry(), and setBoundaryGeometry().
|
protected |
Definition at line 387 of file ElementBase.h.
Referenced by Monitor::applyToReferenceParticle(), getBoundingBoxInLabCoords(), Bend2D::getBoundingBoxInLabCoords(), getCSTrafoGlobal2Local(), and setCSTrafoGlobal2Local().
|
private |
Definition at line 416 of file ElementBase.h.
Referenced by getElementPosition(), isElementPositionSet(), and setElementPosition().
|
protected |
Definition at line 392 of file ElementBase.h.
Referenced by Bend2D::getEffectiveCenter(), Bend2D::initialise(), Bend2D::print(), setActionRange(), setCurrentSCoordinate(), and Bend2D::setupBendGeometry().
|
private |
Definition at line 402 of file ElementBase.h.
|
private |
ELEMEDGE attribute.
Definition at line 415 of file ElementBase.h.
Referenced by getElementPosition(), and setElementPosition().
|
protected |
Definition at line 388 of file ElementBase.h.
Referenced by getMisalignment(), and setMisalignment().
|
private |
The name of the outputfile
Definition at line 420 of file ElementBase.h.
Referenced by getOutputFN(), and setOutputFN().
|
private |
Definition at line 411 of file ElementBase.h.
Referenced by ElementBase(), getParticleMatterInteraction(), hasParticleMatterInteraction(), and setParticleMatterInteraction().
|
private |
Definition at line 413 of file ElementBase.h.
Referenced by fixPosition(), isPositioned(), releasePosition(), and setCSTrafoGlobal2Local().
|
protected |
Definition at line 394 of file ElementBase.h.
Referenced by Bend2D::findIdealBendParameters(), getRotationAboutZ(), RBend3D::initialise(), Bend2D::print(), and setRotationAboutZ().
|
mutableprotected |
Definition at line 385 of file ElementBase.h.
Referenced by Beamline::Beamline(), isSharable(), and makeSharable().
|
private |
Definition at line 405 of file ElementBase.h.
Referenced by getChannel(), and removeAttribute().
|
private |
Definition at line 407 of file ElementBase.h.