OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
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

Interface for basic beam line object. More...

#include <ElementBase.h>

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

Public Types

enum  ApertureType { RECTANGULAR, ELLIPTICAL, CONIC_RECTANGULAR, CONIC_ELLIPTICAL }
 
enum  ElementType {
  ALIGNWRAPPER, BEAMBEAM, BEAMBEAM3D, BEAMLINE,
  BEAMSTRIPPING, CCOLLIMATOR, CORRECTOR, CORRECTORWRAPPER,
  CYCLOTRON, CYCLOTRONWRAPPER, CYCLOTRONVALLEY, DEGRADER,
  DIAGNOSTIC, DRIFT, FLEXIBLECOLLIMATOR, INTEGRATOR,
  LAMBERTSON, MARKER, MONITOR, MPSPLITINTEGRATOR,
  MULTIPOLE, MULTIPOLET, MULTIPOLEWRAPPER, OFFSET,
  PARALLELPLATE, PATCH, PROBE, RBEND,
  RBEND3D, RBENDWRAPPER, RFCAVITY, RFQUADRUPOLE,
  RING, SBEND3D, SBEND, SBENDWRAPPER,
  SEPARATOR, SEPTUM, SOLENOID, SOURCE,
  STRIPPER, TRAVELINGWAVE, 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 ElementImagegetImage () const
 Construct an image. 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...
 
virtual ElementBasemakeAlignWrapper ()
 Allow misalignment. More...
 
virtual ElementBasemakeFieldWrapper ()
 Allow field errors. More...
 
virtual ElementBasemakeWrappers ()
 Allow errors. More...
 
virtual ElementBaseremoveAlignWrapper ()
 Remove align wrapper. More...
 
virtual const ElementBaseremoveAlignWrapper () const
 Remove align wrapper. More...
 
virtual ElementBaseremoveFieldWrapper ()
 Remove field wrapper. More...
 
virtual const ElementBaseremoveFieldWrapper () const
 Remove field wrapper. More...
 
virtual ElementBaseremoveWrappers ()
 Return the design element. More...
 
virtual const ElementBaseremoveWrappers () const
 Return the design element. 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
ParticleMatterInteractionHandler
getParticleMatterInteraction () const
 
virtual bool hasParticleMatterInteraction () const
 
ElemType getElType () const
 returns element type as enumeration needed in the envelope tracker More...
 
void setElType (ElemType elt)
 set the element type as enumeration needed in the envelope tracker More...
 
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 (double x, double y, double s)
 
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
 
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, double f=1) 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
 
ElemType elType_m
 
bool positionIsFixed
 
std::queue< std::pair< double,
double > > 
actionRange_m
 
double elementPosition_m
 ELEMEDGE attribute. More...
 
bool elemedgeSet_m
 

Detailed Description

Interface for basic beam line object.

Definition at line 128 of file ElementBase.h.

Member Enumeration Documentation

Enumerator
RECTANGULAR 
ELLIPTICAL 
CONIC_RECTANGULAR 
CONIC_ELLIPTICAL 

Definition at line 145 of file ElementBase.h.

Enumerator
ALIGNWRAPPER 
BEAMBEAM 
BEAMBEAM3D 
BEAMLINE 
BEAMSTRIPPING 
CCOLLIMATOR 
CORRECTOR 
CORRECTORWRAPPER 
CYCLOTRON 
CYCLOTRONWRAPPER 
CYCLOTRONVALLEY 
DEGRADER 
DIAGNOSTIC 
DRIFT 
FLEXIBLECOLLIMATOR 
INTEGRATOR 
LAMBERTSON 
MARKER 
MONITOR 
MPSPLITINTEGRATOR 
MULTIPOLE 
MULTIPOLET 
MULTIPOLEWRAPPER 
OFFSET 
PARALLELPLATE 
PATCH 
PROBE 
RBEND 
RBEND3D 
RBENDWRAPPER 
RFCAVITY 
RFQUADRUPOLE 
RING 
SBEND3D 
SBEND 
SBENDWRAPPER 
SEPARATOR 
SEPTUM 
SOLENOID 
SOURCE 
STRIPPER 
TRAVELINGWAVE 
VARIABLERFCAVITY 
ANY 

Definition at line 151 of file ElementBase.h.

Constructor & Destructor Documentation

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

Constructor with given name.

Definition at line 71 of file ElementBase.cpp.

ElementBase::ElementBase ( )

Definition at line 39 of file ElementBase.cpp.

ElementBase::ElementBase ( const ElementBase right)

Definition at line 44 of file ElementBase.cpp.

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

Here is the call graph for this function:

ElementBase::~ElementBase ( )
virtual

Definition at line 90 of file ElementBase.cpp.

Member Function Documentation

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

Return clone.

Implemented in Ring, Offset, MultipoleT, MultipoleTCurvedVarRadius, MultipoleTCurvedConstRadius, MultipoleTStraight, SingleMultipole< order >, VariableRFCavityFringeField, MPSplitIntegrator, VariableRFCavity, SBend3D, TBeamline< T >, TBeamline< Row >, TBeamline< A_row >, TBeamline< Member >, BeamBeamRep, MapIntegrator, TrackIntegrator, CorrectorWrapper, CyclotronWrapper, RBendWrapper, SBendWrapper, MultipoleWrapper, RBend3D, ScalingFFAMagnet, AlignWrapper, RBendRep, SBendRep, CorrectorRep, PatchRep, CCollimatorRep, CyclotronRep, CyclotronValleyRep, DegraderRep, DriftRep, FlexibleCollimatorRep, MarkerRep, MonitorRep, ParallelPlateRep, RFCavityRep, SeparatorRep, SolenoidRep, SourceRep, TravelingWaveRep, MultipoleRep, ProbeRep, SeptumRep, StripperRep, XCorrectorRep, XMonitorRep, YCorrectorRep, YMonitorRep, BeamStrippingRep, and VerticalFFAMagnet.

Referenced by Ring::appendElement(), MultipoleWrapper::clone(), CorrectorWrapper::clone(), CyclotronWrapper::clone(), RBendWrapper::clone(), SBendWrapper::clone(), Sequence::copy(), copyStructure(), ElementFactory::makeElement(), RingSection::operator=(), ParallelCyclotronTracker::ParallelCyclotronTracker(), ParallelCyclotronTracker::visitBeamStripping(), ParallelCyclotronTracker::visitCCollimator(), ParallelCyclotronTracker::visitCorrector(), ParallelCyclotronTracker::visitCyclotron(), ParallelCyclotronTracker::visitDegrader(), ParallelCyclotronTracker::visitDiagnostic(), ParallelCyclotronTracker::visitDrift(), ParallelCyclotronTracker::visitLambertson(), ParallelCyclotronTracker::visitMarker(), ParallelCyclotronTracker::visitMonitor(), ParallelCyclotronTracker::visitMultipole(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitRBend(), ParallelCyclotronTracker::visitRFCavity(), ParallelCyclotronTracker::visitRFQuadrupole(), ParallelCyclotronTracker::visitSBend(), ParallelCyclotronTracker::visitSeparator(), ParallelCyclotronTracker::visitSeptum(), ParallelCyclotronTracker::visitSolenoid(), and ParallelCyclotronTracker::visitStripper().

ElementBase * ElementBase::copyStructure ( )
virtual
void ElementBase::fixPosition ( )
inline
std::pair< ElementBase::ApertureType, std::vector< double > > ElementBase::getAperture ( ) const
inline

Definition at line 632 of file ElementBase.h.

References aperture_m.

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

double ElementBase::getArcLength ( ) const
inlinevirtual

Get arc length.

Reimplemented in TBeamline< T >, TBeamline< Row >, TBeamline< A_row >, TBeamline< Member >, and MarkerRep.

Definition at line 507 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:

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

Get attribute value.

Definition at line 107 of file ElementBase.cpp.

References getConstChannel().

Here is the call graph for this function:

BoundaryGeometry * ElementBase::getBoundaryGeometry ( ) const
inlinevirtual

return the attached boundary geometrt object if there is any

Definition at line 571 of file ElementBase.h.

References bgeometry_m.

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

Construct a read-only channel.

Definition at line 153 of file ElementBase.cpp.

References getChannel().

Referenced by getAttribute(), and hasAttribute().

Here is the call graph for this function:

CoordinateSystemTrafo ElementBase::getCSTrafoGlobal2Local ( ) const
inline
CoordinateSystemTrafo ElementBase::getEdgeToBegin ( ) const
inlinevirtual

Reimplemented in RFCavity, TravelingWave, and Solenoid.

Definition at line 607 of file ElementBase.h.

CoordinateSystemTrafo ElementBase::getEdgeToEnd ( ) const
inlinevirtual

Reimplemented in RFCavity, Bend2D, TravelingWave, and Solenoid.

Definition at line 616 of file ElementBase.h.

References getElementLength().

Here is the call graph for this function:

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

Reimplemented in RFCavity, TravelingWave, and Solenoid.

Definition at line 226 of file ElementBase.h.

References getElementLength().

Referenced by MeshGenerator::add().

Here is the call graph for this function:

double ElementBase::getElementLength ( ) const
inlinevirtual

Get design length.

Reimplemented in RFCavity, TravelingWave, Solenoid, TBeamline< T >, TBeamline< Row >, TBeamline< A_row >, TBeamline< Member >, and MarkerRep.

Definition at line 511 of file ElementBase.h.

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

Referenced by CollimatorPhysics::addBackToBunch(), Source::apply(), Monitor::apply(), Corrector::apply(), Component::apply(), Multipole::apply(), FlatWriter::applyDefault(), MSplit::applyDefault(), Aperture::applyDefault(), Monitor::applyToReferenceParticle(), Component::applyToReferenceParticle(), Multipole::applyToReferenceParticle(), CollimatorPhysics::copyFromBunch(), Survey::fill(), OpalSeparator::fillRegisteredAttributes(), OpalParallelPlate::fillRegisteredAttributes(), OpalElement::fillRegisteredAttributes(), CCollimator::getDimensions(), FlexibleCollimator::getDimensions(), Drift::getDimensions(), Degrader::getDimensions(), Corrector::getDimensions(), Multipole::getDimensions(), getEdgeToEnd(), getElementDimensions(), BeamlineGeometry::getElementLength(), RFCavity::getElementLength(), Source::initialise(), FlexibleCollimator::initialise(), Drift::initialise(), Degrader::initialise(), ParallelPlate::initialise(), BeamStripping::initialise(), Corrector::initialise(), Multipole::initialise(), Degrader::isInMaterial(), Multipole::isInside(), isInside(), FlexibleCollimator::isStopped(), Twiss::put(), CollimatorPhysics::setTimeStepForLeavingParticles(), CorrectionBase::setupTables(), MPSplitIntegrator::trackBunch(), MPSplitIntegrator::trackMap(), MPSplitIntegrator::trackParticle(), ThinMapper::visitCCollimator(), OrbitTracker::visitCCollimator(), ThinTracker::visitCCollimator(), LieMapper::visitCCollimator(), LinearMapper::visitCCollimator(), ThickMapper::visitCCollimator(), TransportMapper::visitCCollimator(), ThinMapper::visitCorrector(), OrbitTracker::visitCorrector(), ThinTracker::visitCorrector(), IdealMapper::visitCorrector(), ParallelCyclotronTracker::visitCorrector(), LieMapper::visitCorrector(), ThickMapper::visitCorrector(), LinearMapper::visitCorrector(), TransportMapper::visitCorrector(), ThinMapper::visitDegrader(), OrbitTracker::visitDegrader(), ThinTracker::visitDegrader(), ParallelCyclotronTracker::visitDegrader(), LieMapper::visitDegrader(), ThickMapper::visitDegrader(), LinearMapper::visitDegrader(), TransportMapper::visitDegrader(), ThinMapper::visitDiagnostic(), OrbitTracker::visitDiagnostic(), ThinTracker::visitDiagnostic(), ParallelCyclotronTracker::visitDiagnostic(), LieMapper::visitDiagnostic(), ThickMapper::visitDiagnostic(), LinearMapper::visitDiagnostic(), TransportMapper::visitDiagnostic(), FlatWriter::visitDrift(), ThinMapper::visitDrift(), OrbitTracker::visitDrift(), ThinTracker::visitDrift(), MakeSequenceNS::SequenceWriter::visitDrift(), ParallelCyclotronTracker::visitDrift(), LieMapper::visitDrift(), ThickMapper::visitDrift(), LinearMapper::visitDrift(), TransportMapper::visitDrift(), ThickTracker::visitDrift(), AttWriter::visitFlaggedElmPtr(), ThinMapper::visitFlexibleCollimator(), OrbitTracker::visitFlexibleCollimator(), ThinTracker::visitFlexibleCollimator(), LieMapper::visitFlexibleCollimator(), ThickMapper::visitFlexibleCollimator(), LinearMapper::visitFlexibleCollimator(), TransportMapper::visitFlexibleCollimator(), ThinMapper::visitLambertson(), OrbitTracker::visitLambertson(), ThinTracker::visitLambertson(), ParallelCyclotronTracker::visitLambertson(), LieMapper::visitLambertson(), ThickMapper::visitLambertson(), LinearMapper::visitLambertson(), TransportMapper::visitLambertson(), FlatWriter::visitMapIntegrator(), ThinMapper::visitMonitor(), OrbitTracker::visitMonitor(), ThinTracker::visitMonitor(), LieMapper::visitMonitor(), ThickMapper::visitMonitor(), LinearMapper::visitMonitor(), TransportMapper::visitMonitor(), ThinMapper::visitMultipole(), OrbitTracker::visitMultipole(), MSplit::visitMultipole(), ThinTracker::visitMultipole(), ParallelCyclotronTracker::visitMultipole(), Aperture::visitMultipole(), LieMapper::visitMultipole(), ThickMapper::visitMultipole(), LinearMapper::visitMultipole(), TransportMapper::visitMultipole(), ThickTracker::visitMultipole(), ParallelCyclotronTracker::visitRBend(), ThinMapper::visitRFQuadrupole(), OrbitTracker::visitRFQuadrupole(), ThinTracker::visitRFQuadrupole(), ThickMapper::visitRFQuadrupole(), LieMapper::visitRFQuadrupole(), LinearMapper::visitRFQuadrupole(), ParallelCyclotronTracker::visitRFQuadrupole(), TransportMapper::visitRFQuadrupole(), ParallelCyclotronTracker::visitSBend(), ThickTracker::visitSBend(), IdealMapper::visitSeparator(), ThinMapper::visitSeparator(), OrbitTracker::visitSeparator(), ThinTracker::visitSeparator(), ThickMapper::visitSeparator(), LieMapper::visitSeparator(), LinearMapper::visitSeparator(), ParallelCyclotronTracker::visitSeparator(), TransportMapper::visitSeparator(), ThinMapper::visitSeptum(), OrbitTracker::visitSeptum(), ThinTracker::visitSeptum(), ThickMapper::visitSeptum(), LieMapper::visitSeptum(), LinearMapper::visitSeptum(), and TransportMapper::visitSeptum().

Here is the call graph for this function:

double ElementBase::getElementPosition ( ) const
inline

Definition at line 715 of file ElementBase.h.

References elemedgeSet_m, elementPosition_m, and getName().

Here is the call graph for this function:

ElemType ElementBase::getElType ( ) const
inline

returns element type as enumeration needed in the envelope tracker

Definition at line 587 of file ElementBase.h.

References elType_m.

Referenced by Offset::operator=().

double ElementBase::getEntrance ( ) const
inlinevirtual

Get entrance position.

Reimplemented in TBeamline< T >, TBeamline< Row >, TBeamline< A_row >, and TBeamline< Member >.

Definition at line 523 of file ElementBase.h.

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

Referenced by BeamlineGeometry::getEntrance().

Here is the call graph for this function:

Euclid3D ElementBase::getEntranceFrame ( ) const
inlinevirtual

Get transform.

Reimplemented in TBeamline< T >, TBeamline< Row >, TBeamline< A_row >, and TBeamline< Member >.

Definition at line 543 of file ElementBase.h.

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

Referenced by BeamlineGeometry::getEntranceFrame(), and AlignWrapper::getEntranceTransform().

Here is the call graph for this function:

Euclid3D ElementBase::getEntrancePatch ( ) const
inlinevirtual

Get patch.

Definition at line 551 of file ElementBase.h.

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

Here is the call graph for this function:

double ElementBase::getExit ( ) const
inlinevirtual

Get exit position.

Reimplemented in TBeamline< T >, TBeamline< Row >, TBeamline< A_row >, and TBeamline< Member >.

Definition at line 527 of file ElementBase.h.

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

Referenced by BeamlineGeometry::getExit().

Here is the call graph for this function:

Euclid3D ElementBase::getExitFrame ( ) const
inlinevirtual

Get transform.

Reimplemented in TBeamline< T >, TBeamline< Row >, TBeamline< A_row >, and TBeamline< Member >.

Definition at line 547 of file ElementBase.h.

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

Referenced by BeamlineGeometry::getExitFrame(), and AlignWrapper::getExitTransform().

Here is the call graph for this function:

Euclid3D ElementBase::getExitPatch ( ) const
inlinevirtual

Get patch.

Definition at line 555 of file ElementBase.h.

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

Here is the call graph for this function:

virtual BGeometryBase& ElementBase::getGeometry ( )
pure virtual
virtual const BGeometryBase& ElementBase::getGeometry ( ) const
pure virtual
ElementImage * ElementBase::getImage ( ) const
virtual
void ElementBase::getMisalignment ( double &  x,
double &  y,
double &  s 
) const
CoordinateSystemTrafo ElementBase::getMisalignment ( ) const
inline

Definition at line 667 of file ElementBase.h.

References misalignment_m.

const std::string & ElementBase::getName ( ) const
virtual

Get element name.

Definition at line 95 of file ElementBase.cpp.

References elementID.

Referenced by CorrectionBase::addKick(), Ring::appendElement(), Ring::apply(), Cyclotron::apply(), TableTester::applyDefault(), FlatWriter::applyDefault(), MakeSequenceNS::SequenceWriter::applyDefault(), BeamStrippingPhysics::BeamStrippingPhysics(), Aperture::calcul(), Bend2D::calculateRefTrajectory(), ElementFactory::define(), Stripper::doCheck(), Stripper::doFinalise(), CCollimator::doFinalise(), Probe::doGoOffline(), PlaceRep::enter(), EditInstall::execute(), FlexibleCollimator::finalise(), getElementPosition(), getImage(), RFCavity::getMomentaKick(), BeamStrippingPhysics::getName(), CollimatorPhysics::getName(), Bend2D::getOutline(), PluginElement::getOutputFN(), Degrader::getOutputFN(), CavityAutophaser::getPhaseAtMaxEnergy(), Flatten< Member >::handleBeamline(), Selector::handleElement(), Flatten< Member >::handleElement(), Source::initialise(), FlexibleCollimator::initialise(), Solenoid::initialise(), CyclotronValley::initialise(), Degrader::initialise(), RBend3D::initialise(), TravelingWave::initialise(), Monitor::initialise(), Bend2D::initialise(), RFCavity::initialise(), Ring::initialise(), Cyclotron::initialise(), CSRIGFWakeFunction::initialize(), CSRWakeFunction::initialize(), OpalWake::initWakefunction(), Edit::install(), PlaceRep::leave(), CorrectionBase::listCorrectors(), makeAlignWrapper(), CyclotronRep::makeFieldWrapper(), MultipoleRep::makeFieldWrapper(), SBendRep::makeFieldWrapper(), RBendRep::makeFieldWrapper(), CorrectorRep::makeFieldWrapper(), AlignWrapper::makeFieldWrapper(), MultipoleWrapper::MultipoleWrapper(), operator<<(), VariableRFCavity::operator=(), Offset::operator=(), operator==(), Line::parse(), Sequence::print(), CollimatorPhysics::print(), Bend2D::readFieldMap(), Edit::reflect(), Edit::replaceMultiple(), Edit::replaceSingle(), RFCavity::setComponentType(), ElementFactory::storeElement(), Component::trackBunch(), Component::trackMap(), RBend3D::trackRefParticleThrough(), OpalSBend::update(), OpalRBend::update(), OpalRBend3D::update(), Sequence::updateList(), ParallelTTracker::updateRFElement(), Replacer::visitFlaggedElmPtr(), AttWriter::visitFlaggedElmPtr(), FlatWriter::visitMapIntegrator(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitStripper(), ParallelTTracker::writePhaseSpace(), and AttList::writeTable().

double ElementBase::getOrigin ( ) const
inlinevirtual

Get origin position.

Reimplemented in TBeamline< T >, TBeamline< Row >, TBeamline< A_row >, and TBeamline< Member >.

Definition at line 519 of file ElementBase.h.

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

Referenced by BeamlineGeometry::getOrigin().

Here is the call graph for this function:

ParticleMatterInteractionHandler * ElementBase::getParticleMatterInteraction ( ) const
inlinevirtual
double ElementBase::getRotationAboutZ ( ) const
inline

Definition at line 700 of file ElementBase.h.

References rotationZAxis_m.

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

Euclid3D ElementBase::getTotalTransform ( ) const
inlinevirtual

Get transform.

Reimplemented in TBeamline< T >, TBeamline< Row >, TBeamline< A_row >, and TBeamline< Member >.

Definition at line 535 of file ElementBase.h.

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

Referenced by BeamlineGeometry::getTotalTransform().

Here is the call graph for this function:

Euclid3D ElementBase::getTransform ( double  fromS,
double  toS 
) const
inlinevirtual

Get transform.

Reimplemented in TBeamline< T >, TBeamline< Row >, TBeamline< A_row >, and TBeamline< Member >.

Definition at line 531 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:

Euclid3D ElementBase::getTransform ( double  s) const
inlinevirtual

Get transform.

Reimplemented in TBeamline< T >, TBeamline< Row >, TBeamline< A_row >, and TBeamline< Member >.

Definition at line 539 of file ElementBase.h.

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

Here is the call graph for this function:

virtual ElementType ElementBase::getType ( ) const
pure virtual
std::string ElementBase::getTypeString ( ) const
inline

Definition at line 705 of file ElementBase.h.

References getType().

Referenced by ParallelCyclotronTracker::execute(), and getImage().

Here is the call graph for this function:

std::string ElementBase::getTypeString ( ElementBase::ElementType  type)
static
WakeFunction * ElementBase::getWake ( ) const
inlinevirtual

return the attached wake object if there is any

Definition at line 563 of file ElementBase.h.

References wake_m.

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

Test for existence of an attribute.

Definition at line 120 of file ElementBase.cpp.

References getConstChannel().

Referenced by ParallelCyclotronTracker::visitSolenoid().

Here is the call graph for this function:

bool ElementBase::hasBoundaryGeometry ( ) const
inlinevirtual

Definition at line 575 of file ElementBase.h.

References bgeometry_m.

bool ElementBase::hasParticleMatterInteraction ( ) const
inlinevirtual

Definition at line 583 of file ElementBase.h.

References parmatint_m.

bool ElementBase::hasWake ( ) const
inlinevirtual

Definition at line 567 of file ElementBase.h.

References wake_m.

bool ElementBase::isElementPositionSet ( ) const
inline

Definition at line 724 of file ElementBase.h.

References elemedgeSet_m.

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

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

Definition at line 638 of file ElementBase.h.

References aperture_m, getElementLength(), and isInsideTransverse().

Here is the call graph for this function:

bool ElementBase::isInsideTransverse ( const Vector_t r,
double  f = 1 
) const
inlineprotected
bool ElementBase::isPositioned ( ) const
inline

Definition at line 682 of file ElementBase.h.

References positionIsFixed.

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

bool ElementBase::isSharable ( ) const
inline
ElementBase * ElementBase::makeAlignWrapper ( )
virtual
ElementBase * ElementBase::makeFieldWrapper ( )
virtual
void ElementBase::makeSharable ( )
virtual
ElementBase * ElementBase::makeWrappers ( )
virtual
void ElementBase::operator= ( const ElementBase )
private
void ElementBase::releasePosition ( )
inline

Definition at line 672 of file ElementBase.h.

References positionIsFixed.

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

ElementBase * ElementBase::removeAlignWrapper ( )
virtual
const ElementBase * ElementBase::removeAlignWrapper ( ) const
virtual

Remove align wrapper.

Reimplemented in AlignWrapper.

Definition at line 284 of file ElementBase.cpp.

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

Remove an existing attribute.

Definition at line 132 of file ElementBase.cpp.

References AttributeSet::removeAttribute(), and userAttribs.

Here is the call graph for this function:

ElementBase * ElementBase::removeFieldWrapper ( )
virtual

Remove field wrapper.

Reimplemented in RBendWrapper, SBendWrapper, AlignWrapper, CyclotronWrapper, CorrectorWrapper, and MultipoleWrapper.

Definition at line 289 of file ElementBase.cpp.

Referenced by AlignWrapper::removeFieldWrapper().

const ElementBase * ElementBase::removeFieldWrapper ( ) const
virtual

Remove field wrapper.

Reimplemented in RBendWrapper, SBendWrapper, AlignWrapper, CyclotronWrapper, CorrectorWrapper, and MultipoleWrapper.

Definition at line 294 of file ElementBase.cpp.

ElementBase * ElementBase::removeWrappers ( )
virtual

Return the design element.

Reimplemented in RBendWrapper, SBendWrapper, AlignWrapper, CyclotronWrapper, CorrectorWrapper, and MultipoleWrapper.

Definition at line 299 of file ElementBase.cpp.

Referenced by BeamStrippingPhysics::BeamStrippingPhysics(), Line::fetchLine(), Sequence::fetchLine(), OpalSeparator::fillRegisteredAttributes(), OpalCyclotronValley::fillRegisteredAttributes(), OpalECollimator::fillRegisteredAttributes(), OpalRCollimator::fillRegisteredAttributes(), OpalSlit::fillRegisteredAttributes(), OpalSolenoid::fillRegisteredAttributes(), OpalWire::fillRegisteredAttributes(), OpalFlexibleCollimator::fillRegisteredAttributes(), OpalParallelPlate::fillRegisteredAttributes(), OpalTravelingWave::fillRegisteredAttributes(), OpalCavity::fillRegisteredAttributes(), Edit::installMultiple(), Edit::installSingle(), CorrectionBase::listCorrectors(), Edit::moveMultiple(), Edit::moveSingleAbs(), Edit::moveSingleRel(), OpalVariableRFCavity::OpalVariableRFCavity(), OpalVariableRFCavityFringeField::OpalVariableRFCavityFringeField(), Edit::removeMultiple(), Edit::removeSingle(), AlignWrapper::removeWrappers(), Edit::replaceMultiple(), Edit::replaceSingle(), CorrectionBase::test(), OpalSource::update(), OpalVMonitor::update(), OpalHMonitor::update(), OpalSBend::update(), OpalMonitor::update(), OpalRBend::update(), OpalBeamStripping::update(), OpalVerticalFFAMagnet::update(), OpalSeparator::update(), OpalCyclotronValley::update(), OpalDegrader::update(), OpalECollimator::update(), OpalRCollimator::update(), OpalSlit::update(), OpalSolenoid::update(), OpalHKicker::update(), OpalWire::update(), OpalFlexibleCollimator::update(), OpalSeptum::update(), OpalPepperPot::update(), OpalProbe::update(), OpalOctupole::update(), OpalSextupole::update(), OpalParallelPlate::update(), OpalMultipole::update(), OpalCCollimator::update(), OpalStripper::update(), OpalRBend3D::update(), OpalQuadrupole::update(), OpalVKicker::update(), OpalSBend3D::update(), OpalKicker::update(), OpalTravelingWave::update(), OpalOffset::OpalLocalCartesianOffset::update(), OpalScalingFFAMagnet::update(), OpalMultipoleTStraight::update(), OpalRingDefinition::update(), OpalVariableRFCavity::update(), OpalCavity::update(), OpalMultipoleTCurvedVarRadius::update(), OpalMultipoleTCurvedConstRadius::update(), OpalMultipoleT::update(), OpalVariableRFCavityFringeField::update(), OpalCyclotron::update(), OpalElement::update(), Sequence::updateList(), RangeSelector::visitFlaggedElmPtr(), and AttWriter::visitFlaggedElmPtr().

const ElementBase * ElementBase::removeWrappers ( ) const
virtual

Return the design element.

Reimplemented in RBendWrapper, SBendWrapper, AlignWrapper, CyclotronWrapper, CorrectorWrapper, and MultipoleWrapper.

Definition at line 304 of file ElementBase.cpp.

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

Definition at line 687 of file ElementBase.h.

References actionRange_m, and elementEdge_m.

void ElementBase::setAperture ( const ApertureType type,
const std::vector< double > &  args 
)
inline
void ElementBase::setAttribute ( const std::string &  aKey,
double  val 
)
virtual

Set value of an attribute.

Definition at line 137 of file ElementBase.cpp.

References endl(), getChannel(), and Channel::isSettable().

Referenced by update(), and OpalElement::updateUnknown().

Here is the call graph for this function:

void ElementBase::setBoundaryGeometry ( BoundaryGeometry geo)
virtual

attach a boundary geometry field to the element

Definition at line 321 of file ElementBase.cpp.

References bgeometry_m.

Referenced by OpalDrift::update(), OpalParallelPlate::update(), OpalCavity::update(), and OpalCyclotron::update().

void ElementBase::setCSTrafoGlobal2Local ( const CoordinateSystemTrafo ori)
inline
void ElementBase::setCurrentSCoordinate ( double  s)

Definition at line 329 of file ElementBase.cpp.

References actionRange_m, and elementEdge_m.

void ElementBase::setElementLength ( double  length)
inlinevirtual
void ElementBase::setElementPosition ( double  elemedge)
inline

Access to ELEMEDGE attribute.

Definition at line 709 of file ElementBase.h.

References elemedgeSet_m, and elementPosition_m.

Referenced by OpalElement::update().

void ElementBase::setElType ( ElemType  elt)
inline
void ElementBase::setMisalignment ( double  x,
double  y,
double  s 
)

Referenced by OpalElement::update().

void ElementBase::setMisalignment ( const CoordinateSystemTrafo cst)
inline

Definition at line 662 of file ElementBase.h.

References misalignment_m.

void ElementBase::setName ( const std::string &  name)
virtual
void ElementBase::setParticleMatterInteraction ( ParticleMatterInteractionHandler spys)
virtual
void ElementBase::setRotationAboutZ ( double  rotation)
inline

Set rotation about z axis in bend frame.

Definition at line 695 of file ElementBase.h.

References rotationZAxis_m.

Referenced by OpalElement::update().

void ElementBase::setWake ( WakeFunction wf)
virtual
bool ElementBase::update ( const AttributeSet set)

Update element.

Definition at line 309 of file ElementBase.cpp.

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

Referenced by ElementFactory::makeElement().

Here is the call graph for this function:

Member Data Documentation

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

Definition at line 499 of file ElementBase.h.

Referenced by setActionRange(), and setCurrentSCoordinate().

std::pair<ApertureType, std::vector<double> > ElementBase::aperture_m
protected
BoundaryGeometry* ElementBase::bgeometry_m
private
CoordinateSystemTrafo ElementBase::csTrafoGlobal2Local_m
protected
bool ElementBase::elemedgeSet_m
private

Definition at line 497 of file ElementBase.h.

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

double ElementBase::elementEdge_m
protected
std::string ElementBase::elementID
private

Definition at line 481 of file ElementBase.h.

Referenced by getName(), and setName().

double ElementBase::elementPosition_m
private

ELEMEDGE attribute.

Definition at line 496 of file ElementBase.h.

Referenced by getElementPosition(), and setElementPosition().

ElemType ElementBase::elType_m
private

Definition at line 492 of file ElementBase.h.

Referenced by getElType(), and setElType().

CoordinateSystemTrafo ElementBase::misalignment_m
protected

Definition at line 467 of file ElementBase.h.

Referenced by getMisalignment(), and setMisalignment().

ParticleMatterInteractionHandler* ElementBase::parmatint_m
private
bool ElementBase::positionIsFixed
private

Definition at line 494 of file ElementBase.h.

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

double ElementBase::rotationZAxis_m
protected
bool ElementBase::shareFlag
mutableprotected
AttributeSet ElementBase::userAttribs
private

Definition at line 484 of file ElementBase.h.

Referenced by getChannel(), getImage(), and removeAttribute().

WakeFunction* ElementBase::wake_m
private

Definition at line 486 of file ElementBase.h.

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


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