OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
ElementBase Class Referenceabstract

#include <ElementBase.h>

Inheritance diagram for ElementBase:
Inheritance graph
[legend]
Collaboration diagram for ElementBase:
Collaboration graph
[legend]

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 BGeometryBasegetGeometry ()=0
 Get geometry. More...
 
virtual const BGeometryBasegetGeometry () 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 ChannelgetChannel (const std::string &aKey, bool create=false)
 Construct a read/write channel. More...
 
virtual const ConstChannelgetConstChannel (const std::string &aKey) const
 Construct a read-only channel. More...
 
virtual void accept (BeamlineVisitor &visitor) const =0
 Apply visitor. More...
 
virtual ElementBaseclone () const =0
 Return clone. More...
 
virtual ElementBasecopyStructure ()
 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 BoundaryGeometrygetBoundaryGeometry () 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 WakeFunctiongetWake () const
 return the attached wake object if there is any More...
 
virtual bool hasWake () const
 
virtual void setParticleMatterInteraction (ParticleMatterInteractionHandler *spys)
 
virtual ParticleMatterInteractionHandlergetParticleMatterInteraction () 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
 
- Public Member Functions inherited from RCObject
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
 
- Protected Member Functions inherited from RCObject
 RCObject ()
 Default constructor. More...
 
 RCObject (const RCObject &)
 Copy constructor. More...
 
virtual ~RCObject ()=0
 
RCObjectoperator= (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
 
WakeFunctionwake_m
 
BoundaryGeometrybgeometry_m
 
ParticleMatterInteractionHandlerparmatint_m
 
bool positionIsFixed
 
std::queue< std::pair< double, double > > actionRange_m
 
std::string outputfn_m
 
double elementPosition_m
 ELEMEDGE attribute. More...
 
bool elemedgeSet_m
 

Detailed Description

Definition at line 86 of file ElementBase.h.

Member Enumeration Documentation

◆ ApertureType

Enumerator
RECTANGULAR 
ELLIPTICAL 
CONIC_RECTANGULAR 
CONIC_ELLIPTICAL 

Definition at line 102 of file ElementBase.h.

◆ ElementType

Enumerator
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 

Definition at line 108 of file ElementBase.h.

Constructor & Destructor Documentation

◆ ElementBase() [1/3]

ElementBase::ElementBase ( const std::string &  name)
explicit

Constructor with given name.

Definition at line 105 of file ElementBase.cpp.

◆ ElementBase() [2/3]

ElementBase::ElementBase ( )

Definition at line 72 of file ElementBase.cpp.

◆ ElementBase() [3/3]

ElementBase::ElementBase ( const ElementBase right)

Definition at line 77 of file ElementBase.cpp.

References bgeometry_m, parmatint_m, BoundaryGeometry::updateElement(), and ParticleMatterInteractionHandler::updateElement().

Here is the call graph for this function:

◆ ~ElementBase()

ElementBase::~ElementBase ( )
virtual

Definition at line 124 of file ElementBase.cpp.

Member Function Documentation

◆ accept()

virtual void ElementBase::accept ( BeamlineVisitor visitor) const
pure virtual

◆ clone()

virtual ElementBase* ElementBase::clone ( ) const
pure virtual

◆ copyStructure()

ElementBase * ElementBase::copyStructure ( )
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().

Here is the call graph for this function:

◆ fixPosition()

void ElementBase::fixPosition ( )
inline

◆ getAperture()

std::pair< ElementBase::ApertureType, std::vector< double > > ElementBase::getAperture ( ) const
inline

Definition at line 542 of file ElementBase.h.

References aperture_m.

Referenced by MeshGenerator::add(), and Offset::operator=().

◆ getArcLength()

double ElementBase::getArcLength ( ) const
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().

Here is the call graph for this function:

◆ getAttribute()

double ElementBase::getAttribute ( const std::string &  aKey) const
virtual

Get attribute value.

Definition at line 153 of file ElementBase.cpp.

References getConstChannel().

Here is the call graph for this function:

◆ getBoundaryGeometry()

BoundaryGeometry * ElementBase::getBoundaryGeometry ( ) const
inlinevirtual

return the attached boundary geometrt object if there is any

Definition at line 492 of file ElementBase.h.

References bgeometry_m.

◆ getBoundingBoxInLabCoords()

ElementBase::BoundingBox ElementBase::getBoundingBoxInLabCoords ( ) const
virtual

◆ getChannel()

Channel * ElementBase::getChannel ( const std::string &  aKey,
bool  create = false 
)
virtual

◆ getConstChannel()

const ConstChannel * ElementBase::getConstChannel ( const std::string &  aKey) const
virtual

Construct a read-only channel.

Definition at line 199 of file ElementBase.cpp.

References getChannel().

Referenced by getAttribute(), and hasAttribute().

Here is the call graph for this function:

◆ getCSTrafoGlobal2Local()

CoordinateSystemTrafo ElementBase::getCSTrafoGlobal2Local ( ) const
inline

◆ getEdgeToBegin()

CoordinateSystemTrafo ElementBase::getEdgeToBegin ( ) const
inlinevirtual

◆ getEdgeToEnd()

CoordinateSystemTrafo ElementBase::getEdgeToEnd ( ) const
inlinevirtual

Reimplemented in TravelingWave, Solenoid, RFCavity, and Bend2D.

Definition at line 528 of file ElementBase.h.

References getElementLength().

Referenced by getBoundingBoxInLabCoords().

Here is the call graph for this function:

◆ getElementDimensions()

virtual void ElementBase::getElementDimensions ( double &  begin,
double &  end 
) const
inlinevirtual

Reimplemented in Solenoid, TravelingWave, and RFCavity.

Definition at line 168 of file ElementBase.h.

References begin(), end(), and getElementLength().

Referenced by MeshGenerator::add().

Here is the call graph for this function:

◆ getElementLength()

double ElementBase::getElementLength ( ) const
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().

Here is the call graph for this function:

◆ getElementPosition()

double ElementBase::getElementPosition ( ) const
inline

Definition at line 606 of file ElementBase.h.

References elemedgeSet_m, elementPosition_m, and getName().

Here is the call graph for this function:

◆ getEntrance()

double ElementBase::getEntrance ( ) const
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().

Here is the call graph for this function:

◆ getEntranceFrame()

Euclid3D ElementBase::getEntranceFrame ( ) const
inlinevirtual

Get transform.

Reimplemented in TBeamline< T >.

Definition at line 464 of file ElementBase.h.

References BGeometryBase::getEntranceFrame(), and getGeometry().

Referenced by BeamlineGeometry::getEntranceFrame().

Here is the call graph for this function:

◆ getEntrancePatch()

Euclid3D ElementBase::getEntrancePatch ( ) const
inlinevirtual

Get patch.

Definition at line 472 of file ElementBase.h.

References BGeometryBase::getEntrancePatch(), and getGeometry().

Here is the call graph for this function:

◆ getExit()

double ElementBase::getExit ( ) const
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().

Here is the call graph for this function:

◆ getExitFrame()

Euclid3D ElementBase::getExitFrame ( ) const
inlinevirtual

Get transform.

Reimplemented in TBeamline< T >.

Definition at line 468 of file ElementBase.h.

References BGeometryBase::getExitFrame(), and getGeometry().

Referenced by BeamlineGeometry::getExitFrame().

Here is the call graph for this function:

◆ getExitPatch()

Euclid3D ElementBase::getExitPatch ( ) const
inlinevirtual

Get patch.

Definition at line 476 of file ElementBase.h.

References BGeometryBase::getExitPatch(), and getGeometry().

Here is the call graph for this function:

◆ getGeometry() [1/2]

virtual const BGeometryBase& ElementBase::getGeometry ( ) const
pure virtual

◆ getGeometry() [2/2]

virtual BGeometryBase& ElementBase::getGeometry ( )
pure virtual

◆ getMisalignment() [1/2]

CoordinateSystemTrafo ElementBase::getMisalignment ( ) const
inline

Definition at line 558 of file ElementBase.h.

References misalignment_m.

◆ getMisalignment() [2/2]

void ElementBase::getMisalignment ( double &  x,
double &  y,
double &  s 
) const

◆ getName()

const std::string & ElementBase::getName ( ) const
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().

◆ getOrigin()

double ElementBase::getOrigin ( ) const
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().

Here is the call graph for this function:

◆ getOutputFN()

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

Here is the call graph for this function:

◆ getParticleMatterInteraction()

ParticleMatterInteractionHandler * ElementBase::getParticleMatterInteraction ( ) const
inlinevirtual

◆ getRequiredNumberOfTimeSteps()

int ElementBase::getRequiredNumberOfTimeSteps ( ) const
inlinevirtual

Reimplemented in Stripper, Source, Monitor, Marker, and Drift.

Definition at line 620 of file ElementBase.h.

◆ getRotationAboutZ()

double ElementBase::getRotationAboutZ ( ) const
inline

Definition at line 591 of file ElementBase.h.

References rotationZAxis_m.

Referenced by OpalBeamline::compute3DLattice(), and Bend2D::setFieldCalcParam().

◆ getTotalTransform()

Euclid3D ElementBase::getTotalTransform ( ) const
inlinevirtual

Get transform.

Reimplemented in TBeamline< T >.

Definition at line 456 of file ElementBase.h.

References getGeometry(), and BGeometryBase::getTotalTransform().

Referenced by BeamlineGeometry::getTotalTransform().

Here is the call graph for this function:

◆ getTransform() [1/2]

Euclid3D ElementBase::getTransform ( double  fromS,
double  toS 
) const
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().

Here is the call graph for this function:

◆ getTransform() [2/2]

Euclid3D ElementBase::getTransform ( double  s) const
inlinevirtual

Get transform.

Reimplemented in TBeamline< T >.

Definition at line 460 of file ElementBase.h.

References getGeometry(), and BGeometryBase::getTransform().

Here is the call graph for this function:

◆ getType()

virtual ElementType ElementBase::getType ( ) const
pure virtual

◆ getTypeString() [1/2]

std::string ElementBase::getTypeString ( ) const
inline

Definition at line 596 of file ElementBase.h.

References getType().

Referenced by ParallelCyclotronTracker::execute(), and OpalBeamline::visit().

Here is the call graph for this function:

◆ getTypeString() [2/2]

std::string ElementBase::getTypeString ( ElementBase::ElementType  type)
static

◆ getWake()

WakeFunction * ElementBase::getWake ( ) const
inlinevirtual

return the attached wake object if there is any

Definition at line 484 of file ElementBase.h.

References wake_m.

◆ hasAttribute()

bool ElementBase::hasAttribute ( const std::string &  aKey) const
virtual

Test for existence of an attribute.

Definition at line 166 of file ElementBase.cpp.

References getConstChannel().

Referenced by ParallelCyclotronTracker::visitSolenoid().

Here is the call graph for this function:

◆ hasBoundaryGeometry()

bool ElementBase::hasBoundaryGeometry ( ) const
inlinevirtual

Definition at line 496 of file ElementBase.h.

References bgeometry_m.

◆ hasParticleMatterInteraction()

bool ElementBase::hasParticleMatterInteraction ( ) const
inlinevirtual

Definition at line 504 of file ElementBase.h.

References parmatint_m.

◆ hasWake()

bool ElementBase::hasWake ( ) const
inlinevirtual

Definition at line 488 of file ElementBase.h.

References wake_m.

◆ isElementPositionSet()

bool ElementBase::isElementPositionSet ( ) const
inline

Definition at line 615 of file ElementBase.h.

References elemedgeSet_m.

◆ isInside()

bool ElementBase::isInside ( const Vector_t r) const
inlinevirtual

Reimplemented in TravelingWave, Solenoid, RFCavity, RBend3D, Multipole, Monitor, and Bend2D.

Definition at line 547 of file ElementBase.h.

References getElementLength(), and isInsideTransverse().

Here is the call graph for this function:

◆ isInsideTransverse()

bool ElementBase::isInsideTransverse ( const Vector_t r) const
protected

◆ isPositioned()

bool ElementBase::isPositioned ( ) const
inline

Definition at line 573 of file ElementBase.h.

References positionIsFixed.

Referenced by OpalRBend::update(), OpalRBend3D::update(), and OpalSBend::update().

◆ isSharable()

bool ElementBase::isSharable ( ) const
inline

Test if the element can be shared.

Definition at line 480 of file ElementBase.h.

References shareFlag.

Referenced by copyStructure(), and Sequence::updateList().

◆ makeSharable()

void ElementBase::makeSharable ( )
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().

◆ operator=()

void ElementBase::operator= ( const ElementBase )
private

◆ releasePosition()

void ElementBase::releasePosition ( )
inline

Definition at line 563 of file ElementBase.h.

References positionIsFixed.

Referenced by OpalRBend::update(), OpalRBend3D::update(), and OpalSBend::update().

◆ removeAttribute()

void ElementBase::removeAttribute ( const std::string &  aKey)
virtual

Remove an existing attribute.

Definition at line 178 of file ElementBase.cpp.

References AttributeSet::removeAttribute(), and userAttribs.

Here is the call graph for this function:

◆ setActionRange()

void ElementBase::setActionRange ( const std::queue< std::pair< double, double > > &  range)
inline

Definition at line 578 of file ElementBase.h.

References actionRange_m, and elementEdge_m.

◆ setAperture()

void ElementBase::setAperture ( const ApertureType type,
const std::vector< double > &  args 
)
inline

◆ setAttribute()

void ElementBase::setAttribute ( const std::string &  aKey,
double  val 
)
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().

Here is the call graph for this function:

◆ setBoundaryGeometry()

void ElementBase::setBoundaryGeometry ( BoundaryGeometry geo)
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().

◆ setCSTrafoGlobal2Local()

void ElementBase::setCSTrafoGlobal2Local ( const CoordinateSystemTrafo ori)
inline

◆ setCurrentSCoordinate()

void ElementBase::setCurrentSCoordinate ( double  s)

Definition at line 296 of file ElementBase.cpp.

References actionRange_m, and elementEdge_m.

◆ setElementLength()

void ElementBase::setElementLength ( double  length)
inlinevirtual

◆ setElementPosition()

void ElementBase::setElementPosition ( double  elemedge)
inline

Access to ELEMEDGE attribute.

Definition at line 600 of file ElementBase.h.

References elemedgeSet_m, and elementPosition_m.

Referenced by OpalElement::update().

◆ setMisalignment()

void ElementBase::setMisalignment ( const CoordinateSystemTrafo cst)
inline

Definition at line 553 of file ElementBase.h.

References misalignment_m.

Referenced by OpalElement::update().

◆ setName()

void ElementBase::setName ( const std::string &  name)
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=().

◆ setOutputFN()

void ElementBase::setOutputFN ( std::string  fn)

◆ setParticleMatterInteraction()

void ElementBase::setParticleMatterInteraction ( ParticleMatterInteractionHandler spys)
virtual

◆ setRotationAboutZ()

void ElementBase::setRotationAboutZ ( double  rotation)
inline

Set rotation about z axis in bend frame.

Definition at line 586 of file ElementBase.h.

References rotationZAxis_m.

Referenced by OpalElement::update().

◆ setWake()

void ElementBase::setWake ( WakeFunction wf)
virtual

◆ update()

bool ElementBase::update ( const AttributeSet set)

Update element.

Definition at line 276 of file ElementBase.cpp.

References AttributeSet::begin(), AttributeSet::end(), and setAttribute().

Here is the call graph for this function:

Member Data Documentation

◆ actionRange_m

std::queue<std::pair<double, double> > ElementBase::actionRange_m
private

Definition at line 418 of file ElementBase.h.

Referenced by setActionRange(), and setCurrentSCoordinate().

◆ aperture_m

std::pair<ApertureType, std::vector<double> > ElementBase::aperture_m
protected

◆ bgeometry_m

BoundaryGeometry* ElementBase::bgeometry_m
private

◆ csTrafoGlobal2Local_m

CoordinateSystemTrafo ElementBase::csTrafoGlobal2Local_m
protected

◆ elemedgeSet_m

bool ElementBase::elemedgeSet_m
private

Definition at line 416 of file ElementBase.h.

Referenced by getElementPosition(), isElementPositionSet(), and setElementPosition().

◆ elementEdge_m

double ElementBase::elementEdge_m
protected

◆ elementID

std::string ElementBase::elementID
private

Definition at line 402 of file ElementBase.h.

Referenced by getName(), and setName().

◆ elementPosition_m

double ElementBase::elementPosition_m
private

ELEMEDGE attribute.

Definition at line 415 of file ElementBase.h.

Referenced by getElementPosition(), and setElementPosition().

◆ misalignment_m

CoordinateSystemTrafo ElementBase::misalignment_m
protected

Definition at line 388 of file ElementBase.h.

Referenced by getMisalignment(), and setMisalignment().

◆ outputfn_m

std::string ElementBase::outputfn_m
private

The name of the outputfile

Definition at line 420 of file ElementBase.h.

Referenced by getOutputFN(), and setOutputFN().

◆ parmatint_m

ParticleMatterInteractionHandler* ElementBase::parmatint_m
private

◆ positionIsFixed

bool ElementBase::positionIsFixed
private

Definition at line 413 of file ElementBase.h.

Referenced by fixPosition(), isPositioned(), releasePosition(), and setCSTrafoGlobal2Local().

◆ rotationZAxis_m

double ElementBase::rotationZAxis_m
protected

◆ shareFlag

bool ElementBase::shareFlag
mutableprotected

Definition at line 385 of file ElementBase.h.

Referenced by Beamline::Beamline(), isSharable(), and makeSharable().

◆ userAttribs

AttributeSet ElementBase::userAttribs
private

Definition at line 405 of file ElementBase.h.

Referenced by getChannel(), and removeAttribute().

◆ wake_m

WakeFunction* ElementBase::wake_m
private

Definition at line 407 of file ElementBase.h.

Referenced by getWake(), hasWake(), and setWake().


The documentation for this class was generated from the following files: