|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
Ring describes a ring type geometry for tracking. More...
#include <Ring.h>
Public Member Functions | |
| Ring (const std::string &ring) | |
| Ring (const Ring &ring) | |
| virtual | ~Ring () |
| virtual bool | apply (const size_t &id, const double &t, Vector_t &E, Vector_t &B) override |
| virtual bool | apply (const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override |
| virtual void | initialise (PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override |
| virtual void | initialise (PartBunchBase< double, 3 > *bunch) |
| virtual void | finalise () override |
| virtual bool | bends () const override |
| virtual void | accept (BeamlineVisitor &visitor) const override |
| virtual void | getDimensions (double &zBegin, double &zEnd) const override |
| virtual ElementBase * | clone () const override |
| void | appendElement (const Component &element) |
| virtual EMField & | getField () override |
| virtual const EMField & | getField () const override |
| virtual PlanarArcGeometry & | getGeometry () override |
| virtual const PlanarArcGeometry & | getGeometry () const override |
| void | setLossDataSink (LossDataSink *sink) |
| PartBunchBase< double, 3 > * | getLossDataSink () const |
| void | setRefPartBunch (PartBunchBase< double, 3 > *bunch) |
| PartBunchBase< double, 3 > * | getRefPartBunch () const |
| void | setHarmonicNumber (double cyclHarm) |
| double | getHarmonicNumber () |
| void | setRFFreq (double rfFreq) |
| double | getRFFreq () const |
| void | setBeamRInit (double rInit) |
| double | getBeamRInit () const |
| void | setBeamPhiInit (double phiInit) |
| double | getBeamPhiInit () const |
| void | setBeamThetaInit (double thetaInit) |
| double | getBeamThetaInit () const |
| void | setBeamPRInit (double pRInit) |
| double | getBeamPRInit () const |
| void | setLatticeRInit (double rInit) |
| double | getLatticeRInit () const |
| void | setLatticePhiInit (double phiInit) |
| double | getLatticePhiInit () const |
| Vector_t | getNextPosition () const |
| Vector_t | getNextNormal () const |
| void | setLatticeThetaInit (double thetaInit) |
| double | getLatticeThetaInit () const |
| void | setSymmetry (double symmetry) |
| void | setScale (double scale) |
| double | getSymmetry () const |
| void | setIsClosed (bool isClosed) |
| double | getIsClosed () const |
| void | setRingAperture (double minR, double maxR) |
| double | getRingMinR () const |
| double | getRingMaxR () const |
| void | lockRing () |
| RingSection * | getSection (int i) const |
| RingSection * | getLastSectionPlaced () const |
| size_t | getNumberOfRingSections () const |
| std::vector< RingSection * > | getSectionsAt (const Vector_t &pos) |
| EVector | Efield (const Point3D &P) const |
| Return the field in a point. | |
| EVector | Efield (const Point3D &P, double t) const |
| Return the field in a point. | |
| BVector | Bfield (const Point3D &P) const |
| Return the field in a point. | |
| BVector | Bfield (const Point3D &P, double t) const |
| Return the field in a point. | |
| EBVectors | EBfield (const Point3D &P) const |
| Return the field in a point. | |
| EBVectors | EBfield (const Point3D &P, double t) const |
| Return the field in a point. | |
| virtual bool | applyToReferenceParticle (const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) |
| virtual bool | getPotential (const Vector_t &, const double &, Vector_t &, double &) |
| virtual double | getDesignEnergy () const |
| virtual void | setDesignEnergy (const double &energy, bool changeable=true) |
| virtual void | goOnline (const double &kineticEnergy) |
| virtual void | goOffline () |
| virtual bool | Online () |
| virtual ElementType | getType () const override |
| Get element type std::string. | |
| virtual const ElementBase & | getDesign () const |
| Return design element. | |
| virtual void | trackBunch (PartBunchBase< double, 3 > *bunch, const PartData &, bool revBeam, bool revTrack) const |
| Track particle bunch. | |
| virtual void | trackMap (FVps< double, 6 > &map, const PartData &, bool revBeam, bool revTrack) const |
| Track a map. | |
| void | setExitFaceSlope (const double &) |
| virtual const std::string & | getName () const |
| Get element name. | |
| virtual void | setName (const std::string &name) |
| Set element name. | |
| std::string | getTypeString () const |
| virtual double | getArcLength () const |
| Get arc length. | |
| virtual double | getElementLength () const |
| Get design length. | |
| virtual void | setElementLength (double length) |
| Set design length. | |
| virtual void | getElementDimensions (double &begin, double &end) const |
| virtual double | getOrigin () const |
| Get origin position. | |
| virtual double | getEntrance () const |
| Get entrance position. | |
| virtual double | getExit () const |
| Get exit position. | |
| virtual Euclid3D | getTransform (double fromS, double toS) const |
| Get transform. | |
| virtual Euclid3D | getTransform (double s) const |
| Get transform. | |
| virtual Euclid3D | getTotalTransform () const |
| Get transform. | |
| virtual Euclid3D | getEntranceFrame () const |
| Get transform. | |
| virtual Euclid3D | getExitFrame () const |
| Get transform. | |
| virtual Euclid3D | getEntrancePatch () const |
| Get patch. | |
| virtual Euclid3D | getExitPatch () const |
| Get patch. | |
| virtual double | getAttribute (const std::string &aKey) const |
| Get attribute value. | |
| virtual bool | hasAttribute (const std::string &aKey) const |
| Test for existence of an attribute. | |
| virtual void | removeAttribute (const std::string &aKey) |
| Remove an existing attribute. | |
| virtual void | setAttribute (const std::string &aKey, double val) |
| Set value of an attribute. | |
| virtual Channel * | getChannel (const std::string &aKey, bool create=false) |
| Construct a read/write channel. | |
| virtual const ConstChannel * | getConstChannel (const std::string &aKey) const |
| Construct a read-only channel. | |
| virtual ElementBase * | copyStructure () |
| Make a structural copy. | |
| bool | isSharable () const |
| Test if the element can be shared. | |
| virtual void | makeSharable () |
| Set sharable flag. | |
| bool | update (const AttributeSet &) |
| Update element. | |
| virtual void | setBoundaryGeometry (BoundaryGeometry *geo) |
| virtual BoundaryGeometry * | getBoundaryGeometry () const |
| return the attached boundary geometrt object if there is any | |
| virtual bool | hasBoundaryGeometry () const |
| virtual void | setWake (WakeFunction *wf) |
| attach a wake field to the element | |
| virtual WakeFunction * | getWake () const |
| return the attached wake object if there is any | |
| virtual bool | hasWake () const |
| virtual void | setParticleMatterInteraction (ParticleMatterInteractionHandler *spys) |
| virtual ParticleMatterInteractionHandler * | getParticleMatterInteraction () const |
| virtual bool | hasParticleMatterInteraction () const |
| void | setCSTrafoGlobal2Local (const CoordinateSystemTrafo &ori) |
| CoordinateSystemTrafo | getCSTrafoGlobal2Local () const |
| void | releasePosition () |
| void | fixPosition () |
| bool | isPositioned () const |
| virtual CoordinateSystemTrafo | getEdgeToBegin () const |
| virtual CoordinateSystemTrafo | getEdgeToEnd () const |
| void | setAperture (const ApertureType &type, const std::vector< double > &args) |
| std::pair< ApertureType, std::vector< double > > | getAperture () const |
| virtual bool | isInside (const Vector_t &r) const |
| void | setMisalignment (const CoordinateSystemTrafo &cst) |
| void | getMisalignment (double &x, double &y, double &s) const |
| CoordinateSystemTrafo | getMisalignment () const |
| void | setActionRange (const std::queue< std::pair< double, double > > &range) |
| void | setCurrentSCoordinate (double s) |
| void | setRotationAboutZ (double rotation) |
| Set rotation about z axis in bend frame. | |
| double | getRotationAboutZ () const |
| virtual BoundingBox | getBoundingBoxInLabCoords () const |
| virtual int | getRequiredNumberOfTimeSteps () const |
| void | setOutputFN (std::string fn) |
| Set output filename. | |
| std::string | getOutputFN () const |
| Get output filename. | |
| void | setFlagDeleteOnTransverseExit (bool=true) |
| bool | getFlagDeleteOnTransverseExit () const |
| int | addReference () const |
| Increment reference count. | |
| int | removeReference () const |
| Decrement the reference count. | |
| bool | isShared () const |
| Test for sharing. | |
| void | setElementPosition (double elemedge) |
| Access to ELEMEDGE attribute. | |
| double | getElementPosition () const |
| bool | isElementPositionSet () const |
Static Public Member Functions | |
| static Vector_t | convert (const Vector3D &vec) |
| static Vector3D | convert (const Vector_t &vec) |
| static std::string | getTypeString (ElementType type) |
Protected Member Functions | |
| bool | isInsideTransverse (const Vector_t &r) const |
Protected Attributes | |
| double | exit_face_slope_m |
| PartBunchBase< double, 3 > * | RefPartBunch_m |
| bool | online_m |
| bool | shareFlag |
| CoordinateSystemTrafo | csTrafoGlobal2Local_m |
| CoordinateSystemTrafo | misalignment_m |
| std::pair< ApertureType, std::vector< double > > | aperture_m |
| double | elementEdge_m |
| double | rotationZAxis_m |
Static Protected Attributes | |
| static const std::vector< double > | defaultAperture_m |
Private Member Functions | |
| void | resetAzimuths () |
| void | checkAndClose () |
| void | buildRingSections () |
| void | rotateToCyclCoordinates (Euclid3D &euclid3d) const |
| Vector_t | getStartPosition () const |
| Vector_t | getStartNormal () const |
| Ring () | |
| Ring & | operator= (const Ring &ring) |
| void | checkMidplane (Euclid3D delta) const |
| Rotation3D | getRotationStartToEnd (Euclid3D delta) const |
Static Private Member Functions | |
| static bool | sectionCompare (RingSection const *const sec1, RingSection const *const sec2) |
Private Attributes | |
| PlanarArcGeometry | planarArcGeometry_m |
| PartBunchBase< double, 3 > * | refPartBunch_m |
| LossDataSink * | lossDS_m |
| double | beamRInit_m |
| double | beamPRInit_m |
| double | beamPhiInit_m |
| double | beamThetaInit_m |
| double | latticeRInit_m |
| double | latticePhiInit_m |
| double | latticeThetaInit_m |
| bool | willDoAperture_m = false |
| double | minR2_m |
| double | maxR2_m |
| bool | isLocked_m |
| bool | isClosed_m |
| int | symmetry_m |
| double | scale_m = 1. |
| double | cyclHarm_m |
| double | rfFreq_m |
| double | phiStep_m |
| std::vector< RingSectionList > | ringSections_m |
| RingSectionList | section_list_m |
| std::string | elementID |
| AttributeSet | userAttribs |
| WakeFunction * | wake_m |
| BoundaryGeometry * | bgeometry_m |
| ParticleMatterInteractionHandler * | parmatint_m |
| bool | positionIsFixed |
| std::queue< std::pair< double, double > > | actionRange_m |
| std::string | outputfn_m |
| bool | deleteOnTransverseExit_m = true |
| int | refCount |
| double | elementPosition_m |
| ELEMEDGE attribute. | |
| bool | elemedgeSet_m |
Static Private Attributes | |
| static const double | lengthTolerance_m = 1e-2 |
| static const double | angleTolerance_m = 1e-2 |
| static const std::map< ElementType, std::string > | elementTypeToString_s |
Ring describes a ring type geometry for tracking.
Ring describes a ring type geometry for tracking. Ring provides the necessary interfaces for e.g. OPAL-CYCL to track through the ring geometry, while enabling the user to add arbitrary field elements in a closed geometry.
Ring uses similar routines to OPAL-T OpalBeamline class to set up geometry; note that as OPAL-CYCL places the beam in an x-y geometry we place in an x-y geometry for Ring (i.e. the axis of the ring is by default the z-axis). So far only placement of elements in the midplane is supported. It is not possible to give vertical displacements or rotations, or add elements that might create vertical displacements and rotations.
Also aim to maintain backwards compatibility with Cyclotron (i.e. use ParallelCyclotronTracker)
| Ring::Ring | ( | const std::string & | ring | ) |
Constructor
| ring | Name of the ring as defined in the input file |
Definition at line 41 of file Ring.cpp.
References beamPhiInit_m, beamPRInit_m, beamRInit_m, Component::Component(), cyclHarm_m, isClosed_m, isLocked_m, latticePhiInit_m, latticeRInit_m, latticeThetaInit_m, lossDS_m, phiStep_m, pi, planarArcGeometry_m, refPartBunch_m, rfFreq_m, ringSections_m, section_list_m, setRefPartBunch(), and symmetry_m.
Referenced by operator=(), and Ring().
| Ring::Ring | ( | const Ring & | ring | ) |
Copy constructor
Can't copy LossDataSink so throw exception if this is set
Definition at line 59 of file Ring.cpp.
References beamPhiInit_m, beamPRInit_m, beamRInit_m, beamThetaInit_m, buildRingSections(), Component::Component(), cyclHarm_m, ElementBase::getName(), isClosed_m, isLocked_m, latticePhiInit_m, latticeRInit_m, latticeThetaInit_m, lossDS_m, maxR2_m, minR2_m, phiStep_m, planarArcGeometry_m, refPartBunch_m, Ring(), ringSections_m, section_list_m, setRefPartBunch(), symmetry_m, and willDoAperture_m.
|
virtual |
Destructor - deletes lossDS_m if not nullptr
Definition at line 90 of file Ring.cpp.
References section_list_m.
|
private |
Disabled
Referenced by clone().
|
overridevirtual |
Accept the BeamlineVisitor
Just calls visitRing function on the visitor. I guess the point of this function is that it enables us to store a pointer to the visitor object or something
Implements ElementBase.
Definition at line 55 of file Ring.cpp.
References BeamlineVisitor::visitRing().
|
inlineinherited |
Increment reference count.
Definition at line 83 of file RCObject.h.
References refCount.
Referenced by Pointer< Object >::operator=(), Pointer< Object >::operator=(), and Pointer< Object >::unique().
| void Ring::appendElement | ( | const Component & | element | ) |
Add element to the ring
Add element to the ring. Elements are assumed to occupy a region of space defined by a (flat) plane at the start and a plane at the end, both infinite in extent. The position and rotation of these planes are defined according to the Component geometry given by element.getGeometry().
Caller owns memory allocated to element - Ring makes a copy.
Throws an exception if the geometry would bend the element out of the midplane (elements out of midplane are not yet supported). Note that BeamlineGeometry considers midplane to be x-z, whereas Ring considers midplane to be x-y; we apply a rotation during set up.
The element is assumed to extend not beyond the element geometry; Ring applies a bounding box based on the element geometry, if there are field maps expanding outside this region they may get cut.
Definition at line 234 of file Ring.cpp.
References checkMidplane(), ElementBase::clone(), Component::Component(), endl(), Rotation3D::getAxis(), RingSection::getComponent(), RingSection::getEndNormal(), RingSection::getEndPosition(), ElementBase::getGeometry(), ElementBase::getName(), getNextNormal(), getNextPosition(), Euclid3D::getRotation(), RingSection::getStartNormal(), RingSection::getStartPosition(), BGeometryBase::getTotalTransform(), Euclid3D::getVector(), gmsg, RingSection::handleOffset(), isLocked_m, rotateToCyclCoordinates(), section_list_m, RingSection::setComponent(), RingSection::setComponentOrientation(), RingSection::setComponentPosition(), RingSection::setEndNormal(), RingSection::setEndPosition(), RingSection::setStartNormal(), and RingSection::setStartPosition().
Referenced by lockRing().
|
overridevirtual |
Overwrite data in vector E and B with electric and magnetic field
| i | index of item in RefPartBunch_m - particle bunch |
| t | time |
| E | array where electric field vector is stored - any existing data is overwritten |
| B | array where magnetic field vector is stored - any existing data is overwritten |
Reimplemented from Component.
Definition at line 95 of file Ring.cpp.
References apply(), endl(), ElementBase::getName(), gmsgALL, level4(), lossDS_m, and refPartBunch_m.
Referenced by apply().
|
overridevirtual |
Overwrite data in vector E and B with electromagnetic field at point R
| R | 3 vector position at which the field is found in Cartesian coordinates (i.e. x, y, z with z=vertical) |
| P | 3 vector momentum |
| centroid | unknown, but not used - bunch mean maybe? |
| t | time |
| E | vector where electric field vector will be stored - any existing data is overwritten |
| B | vector where magnetic field vector will be stored - any existing data is overwritten |
Reimplemented from Component.
Definition at line 116 of file Ring.cpp.
References getSectionsAt(), maxR2_m, refPartBunch_m, scale_m, and willDoAperture_m.
|
virtualinherited |
Reimplemented in Bend2D, Degrader, FlexibleCollimator, Monitor, Multipole, PluginElement, RBend3D, RFCavity, Solenoid, TravelingWave, Vacuum, VariableRFCavity, and VariableRFCavityFringeField.
Definition at line 121 of file Component.cpp.
References ElementBase::getElementLength(), and ElementBase::isInsideTransverse().
|
inlineoverridevirtual |
Return the field in a point.
Definition at line 202 of file Component.h.
References EMField::Bfield(), and getField().
Referenced by OutputPlane::getFieldsAtPoint().
Return the field in a point.
Definition at line 208 of file Component.h.
References EMField::Bfield(), and getField().
|
private |
Definition at line 351 of file Ring.cpp.
References phiStep_m, ringSections_m, section_list_m, and Physics::two_pi.
Referenced by lockRing(), and Ring().
|
private |
Definition at line 336 of file Ring.cpp.
References angleTolerance_m, lengthTolerance_m, and section_list_m.
Referenced by lockRing().
|
private |
Definition at line 187 of file Ring.cpp.
References angleTolerance_m, Rotation3D::getAxis(), Euclid3D::getRotation(), Euclid3D::getVector(), and lengthTolerance_m.
Referenced by appendElement().
|
inlineoverridevirtual |
Inherited copy constructor
Implements ElementBase.
Definition at line 145 of file Ring.h.
References ElementBase::ElementBase(), and Ring().
Referenced by ParallelCyclotronTracker::visitRing().
|
virtualinherited |
Make a structural copy.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 244 of file ElementBase.cpp.
References ElementBase(), and isSharable().
Referenced by Sequence::copy(), Line::parse(), and SequenceParser::parseMember().
Return the field in a point.
Definition at line 211 of file Component.h.
References EMField::EBfield(), and getField().
Return the field in a point.
Definition at line 214 of file Component.h.
References EMField::EBfield(), and getField().
Return the field in a point.
Definition at line 199 of file Component.h.
References EMField::Efield(), and getField().
Referenced by OutputPlane::getFieldsAtPoint().
Return the field in a point.
Definition at line 205 of file Component.h.
References EMField::Efield(), and getField().
|
overridevirtual |
Clean up the Ring
Ring relinquishes RefPartBunchBase<double, 3> pointer and deletes LossDataSink
Implements Component.
Definition at line 161 of file Ring.cpp.
References lossDS_m, Component::online_m, and setLossDataSink().
|
inlineinherited |
Definition at line 551 of file ElementBase.h.
References positionIsFixed.
Referenced by OpalElement::update(), OpalRBend3D::update(), OpalRBend::update(), and OpalSBend::update().
|
inlineinherited |
Definition at line 525 of file ElementBase.h.
References aperture_m.
Referenced by MeshGenerator::add(), and Offset::operator=().
|
inlinevirtualinherited |
Get arc length.
Reimplemented in MarkerRep, TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 411 of file ElementBase.h.
References BGeometryBase::getArcLength(), and getGeometry().
Referenced by TBeamline< T >::getTransform().
|
virtualinherited |
Get attribute value.
Definition at line 187 of file ElementBase.cpp.
References getConstChannel().
|
inline |
Get the initial beam azimuthal angle
Definition at line 231 of file Ring.h.
References beamPhiInit_m.
|
inline |
Get the initial beam radial momentum
Definition at line 243 of file Ring.h.
References beamPRInit_m.
|
inline |
|
inline |
Get the initial beam rotation relative to the tangent vector
Definition at line 237 of file Ring.h.
References beamThetaInit_m.
|
inlinevirtualinherited |
return the attached boundary geometrt object if there is any
Definition at line 475 of file ElementBase.h.
References bgeometry_m.
|
virtualinherited |
Reimplemented in Bend2D.
Definition at line 313 of file ElementBase.cpp.
References csTrafoGlobal2Local_m, and getEdgeToBegin().
|
virtualinherited |
Construct a read/write channel.
Reimplemented in CCollimatorRep, CorrectorRep, CyclotronRep, DegraderRep, DriftRep, FlexibleCollimatorRep, MonitorRep, MultipoleRep, ProbeRep, RBendRep, RFCavityRep, SBendRep, SeptumRep, SingleMultipole< order >, SingleMultipole< -2 >, SingleMultipole< -3 >, SingleMultipole< -4 >, SingleMultipole< 2 >, SingleMultipole< 3 >, SingleMultipole< 4 >, SolenoidRep, SourceRep, StripperRep, TravelingWaveRep, UndulatorRep, VacuumRep, XCorrectorRep, and YCorrectorRep.
Definition at line 228 of file ElementBase.cpp.
References 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().
|
virtualinherited |
Construct a read-only channel.
Definition at line 233 of file ElementBase.cpp.
References ElementBase(), and getChannel().
Referenced by getAttribute(), and hasAttribute().
|
inlineinherited |
Definition at line 498 of file ElementBase.h.
References csTrafoGlobal2Local_m.
Referenced by MeshGenerator::add(), ParallelTTracker::computeParticleMatterInteraction(), Monitor::driftToCorrectPositionAndSave(), OpalRBend3D::update(), OpalRBend::update(), and OpalSBend::update().
|
virtualinherited |
Return design element.
Definition at line 67 of file Component.cpp.
References ElementBase::ElementBase().
|
inlinevirtualinherited |
Reimplemented in BendBase, and RFCavity.
Definition at line 231 of file Component.h.
|
overridevirtual |
|
inlinevirtualinherited |
Reimplemented in RFCavity, Solenoid, and TravelingWave.
Definition at line 503 of file ElementBase.h.
Referenced by Bend2D::getBoundingBoxInLabCoords(), getBoundingBoxInLabCoords(), and SingleMultipole< 4 >::update().
|
inlinevirtualinherited |
Reimplemented in Bend2D, RFCavity, Solenoid, and TravelingWave.
Definition at line 511 of file ElementBase.h.
References getElementLength().
|
inlinevirtualinherited |
Reimplemented in RFCavity, Solenoid, and TravelingWave.
Definition at line 174 of file ElementBase.h.
References begin(), end(), and getElementLength().
Referenced by MeshGenerator::add().
|
inlinevirtualinherited |
Get design length.
Reimplemented in MarkerRep, RFCavity, TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 415 of file ElementBase.h.
References BGeometryBase::getElementLength(), and getGeometry().
Referenced by Component::apply(), Corrector::apply(), Multipole::apply(), Multipole::apply(), Solenoid::apply(), Undulator::apply(), Component::applyToReferenceParticle(), Multipole::applyToReferenceParticle(), Solenoid::applyToReferenceParticle(), Vacuum::checkPoint(), RBend::findChordLength(), SBend::findChordLength(), CCollimator::getDimensions(), Corrector::getDimensions(), Degrader::getDimensions(), Drift::getDimensions(), FlexibleCollimator::getDimensions(), Multipole::getDimensions(), RBend3D::getDimensions(), Solenoid::getDimensions(), Vacuum::getDimensions(), getEdgeToEnd(), Solenoid::getEdgeToEnd(), getElementDimensions(), Solenoid::getElementDimensions(), RFCavity::getElementLength(), Corrector::initialise(), Degrader::initialise(), Drift::initialise(), FlexibleCollimator::initialise(), Multipole::initialise(), RBend3D::initialise(), Solenoid::initialise(), Source::initialise(), Vacuum::initialise(), Degrader::isInside(), isInside(), Monitor::isInside(), Multipole::isInside(), FlexibleCollimator::isStopped(), Bend2D::setupDefaultFieldMap(), SingleMultipole< 4 >::update(), ParallelCyclotronTracker::visitCorrector(), ParallelCyclotronTracker::visitDrift(), ThickTracker::visitDrift(), ParallelCyclotronTracker::visitMultipole(), ThickTracker::visitMultipole(), ParallelCyclotronTracker::visitRBend(), ParallelCyclotronTracker::visitSBend(), and ThickTracker::visitSBend().
|
inlineinherited |
Definition at line 589 of file ElementBase.h.
References elemedgeSet_m, elementPosition_m, and getName().
|
inlinevirtualinherited |
Get entrance position.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 427 of file ElementBase.h.
References BGeometryBase::getEntrance(), and getGeometry().
|
inlinevirtualinherited |
Get transform.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 447 of file ElementBase.h.
References BGeometryBase::getEntranceFrame(), and getGeometry().
|
inlinevirtualinherited |
Get patch.
Definition at line 455 of file ElementBase.h.
References BGeometryBase::getEntrancePatch(), and getGeometry().
|
inlinevirtualinherited |
Get exit position.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 431 of file ElementBase.h.
References BGeometryBase::getExit(), and getGeometry().
|
inlinevirtualinherited |
Get transform.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 451 of file ElementBase.h.
References BGeometryBase::getExitFrame(), and getGeometry().
|
inlinevirtualinherited |
Get patch.
Definition at line 459 of file ElementBase.h.
References BGeometryBase::getExitPatch(), and getGeometry().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineinherited |
Definition at line 614 of file ElementBase.h.
References deleteOnTransverseExit_m.
Referenced by Bend2D::apply(), Corrector::apply(), Multipole::apply(), Multipole::apply(), MultipoleT::apply(), RFCavity::apply(), Solenoid::apply(), TravelingWave::apply(), and FlexibleCollimator::isStopped().
|
inlineoverridevirtual |
Not implemented
Implements ElementBase.
Definition at line 178 of file Ring.h.
References planarArcGeometry_m.
|
inlineoverridevirtual |
Not implemented
Implements ElementBase.
Definition at line 175 of file Ring.h.
References planarArcGeometry_m.
|
inline |
Get the harmonic number for RF (number of bunches in the ring)
Definition at line 212 of file Ring.h.
References cyclHarm_m.
|
inline |
| RingSection * Ring::getLastSectionPlaced | ( | ) | const |
Get the last section placed or nullptr if no sections were placed yet
Definition at line 364 of file Ring.cpp.
References section_list_m.
|
inline |
Get the initial element's azimuthal angle
Definition at line 255 of file Ring.h.
References latticePhiInit_m.
|
inline |
|
inline |
Get the first element's horizontal angle
Get the angle in the ring plane with respect to the tangent vector
Definition at line 273 of file Ring.h.
References latticeThetaInit_m.
| PartBunchBase< double, 3 > * Ring::getLossDataSink | ( | ) | const |
Get pointer to lossDataSink.
Ring still owns the memory to which lossDataSink points.
|
inlineinherited |
Definition at line 541 of file ElementBase.h.
References misalignment_m.
|
inherited |
Referenced by ParallelTTracker::computeParticleMatterInteraction().
|
virtualinherited |
Get element name.
Definition at line 162 of file ElementBase.cpp.
References elementID.
Referenced by Ring::appendElement(), Cyclotron::apply(), Ring::apply(), Bend2D::calculateRefTrajectory(), OutputPlane::checkOne(), Vacuum::checkPressure(), TBeamline< T >::clone(), TBeamline< T >::copyStructure(), Stripper::doCheck(), CCollimator::doFinalise(), Stripper::doFinalise(), OutputPlane::doGoOffline(), Probe::doGoOffline(), PlaceRep::enter(), Cyclotron::finalise(), Degrader::finalise(), FlexibleCollimator::finalise(), Vacuum::finalise(), PyOpal::Field::getElementName(), getElementPosition(), RFCavity::getMomentaKick(), Bend2D::getOutline(), getOutputFN(), CavityAutophaser::getPhaseAtMaxEnergy(), Selector::handleElement(), Bend2D::initialise(), RBend3D::initialise(), RFCavity::initialise(), Ring::initialise(), Solenoid::initialise(), CSRIGFWakeFunction::initialize(), CSRWakeFunction::initialize(), OpalWake::initWakefunction(), PlaceRep::leave(), Offset::Offset(), operator<<(), Offset::operator=(), VariableRFCavity::operator=(), operator==(), Line::parse(), Sequence::print(), Vacuum::print(), Bend2D::readFieldMap(), PyOpal::PyLine_< TBeamline< FlaggedElmPtr > >::registerObject(), Ring::Ring(), ClassicField::SortAsc(), Component::trackBunch(), Component::trackMap(), RBend3D::trackRefParticleThrough(), OpalRBend3D::update(), OpalRBend::update(), OpalSBend::update(), Sequence::updateList(), ParallelTTracker::updateRFElement(), ParallelCyclotronTracker::visitCCollimator(), Replacer::visitFlaggedElmPtr(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitRFCavity(), ParallelCyclotronTracker::visitSeptum(), ParallelCyclotronTracker::visitStripper(), and ParallelTTracker::writePhaseSpace().
| Vector_t Ring::getNextNormal | ( | ) | const |
Get the initial element's start normal in cartesian coordinates
Definition at line 220 of file Ring.cpp.
References getStartNormal(), and section_list_m.
Referenced by appendElement().
| Vector_t Ring::getNextPosition | ( | ) | const |
Get the initial element's start position in cartesian coordinates
Definition at line 206 of file Ring.cpp.
References getStartPosition(), and section_list_m.
Referenced by appendElement().
| size_t Ring::getNumberOfRingSections | ( | ) | const |
Get number of RingSections
Definition at line 402 of file Ring.cpp.
References section_list_m.
Referenced by PyOpal::Field::getNumberOfElements(), and getSection().
|
inlinevirtualinherited |
Get origin position.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 423 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getOrigin().
|
inherited |
Get output filename.
Definition at line 177 of file ElementBase.cpp.
References getName(), and outputfn_m.
Referenced by Probe::doInitialise(), Cyclotron::initialise(), FlexibleCollimator::initialise(), FlexibleCollimator::initialise(), Monitor::initialise(), PluginElement::initialise(), and Source::initialise().
|
inlinevirtualinherited |
Definition at line 483 of file ElementBase.h.
References parmatint_m.
Referenced by Degrader::applyToReferenceParticle(), CCollimator::doInitialise(), FlexibleCollimator::initialise(), FlexibleCollimator::initialise(), and Vacuum::initialise().
|
inlinevirtualinherited |
Calculate the four-potential at some position relative to the component
| R | position in the local coordinate system of the component |
| t | time |
| A | filled with the calculated magnetic vector potential |
| phi | filled with the calculated electric potential Note that any existing values in A and phi may be overwritten by this method. |
Definition at line 130 of file Component.h.
| PartBunchBase< double, 3 > * Ring::getRefPartBunch | ( | ) | const |
Get pointer to RefPartBunchBase<double, 3> from the bunch.
Ring does not own this memory (so neither does caller).
|
inlinevirtualinherited |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
Definition at line 574 of file ElementBase.h.
References rotationZAxis_m.
Referenced by OpalBeamline::compute3DLattice(), and Bend2D::setFieldCalcParam().
|
private |
Definition at line 176 of file Ring.cpp.
References Euclid3D::getRotation(), and Rotation3D::ZRotation().
| RingSection * Ring::getSection | ( | int | i | ) | const |
Return ith section. Throw a readable exception if i is not valid
Definition at line 387 of file Ring.cpp.
References getNumberOfRingSections(), sec(), and section_list_m.
Referenced by PyOpal::Field::getElementEndNormal(), PyOpal::Field::getElementEndPosition(), PyOpal::Field::getElementName(), PyOpal::Field::getElementStartNormal(), and PyOpal::Field::getElementStartPosition().
| std::vector< RingSection * > Ring::getSectionsAt | ( | const Vector_t & | pos | ) |
Get the list of sections at position pos
Definition at line 172 of file Ring.cpp.
References section_list_m.
Referenced by apply().
|
private |
Definition at line 228 of file Ring.cpp.
References latticePhiInit_m, and latticeThetaInit_m.
Referenced by getNextNormal().
|
private |
Definition at line 214 of file Ring.cpp.
References latticePhiInit_m, and latticeRInit_m.
Referenced by getNextPosition().
|
inline |
Get the rotational symmetry of the ring (number of cells)
Definition at line 282 of file Ring.h.
References symmetry_m.
|
inlinevirtualinherited |
Get transform.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 439 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getTotalTransform().
|
inlinevirtualinherited |
Get transform.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 435 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getTransform().
Referenced by TBeamline< T >::getTransform().
|
inlinevirtualinherited |
Get transform.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 443 of file ElementBase.h.
References getGeometry(), and BGeometryBase::getTransform().
|
overridevirtualinherited |
Get element type std::string.
Implements ElementBase.
Reimplemented in Bend2D, CCollimator, Corrector, Cyclotron, Degrader, Drift, FlexibleCollimator, Marker, Monitor, Multipole, OutputPlane, Probe, RBend3D, RBend, RFCavity, SBend, Septum, Solenoid, Source, Stripper, TravelingWave, Undulator, and Vacuum.
Definition at line 95 of file Component.cpp.
References ANY.
|
inlineinherited |
Definition at line 579 of file ElementBase.h.
References getType(), and getTypeString().
Referenced by ParallelCyclotronTracker::execute(), getTypeString(), and OpalBeamline::visit().
|
staticinherited |
Definition at line 240 of file ElementBase.cpp.
References elementTypeToString_s.
|
inlinevirtualinherited |
return the attached wake object if there is any
Definition at line 467 of file ElementBase.h.
References wake_m.
|
virtualinherited |
Reimplemented in Degrader, FlexibleCollimator, Monitor, PluginElement, RBend3D, RFCavity, Solenoid, Source, TravelingWave, and Vacuum.
Definition at line 87 of file Component.cpp.
References online_m.
|
virtualinherited |
Reimplemented in Bend2D, CCollimator, Corrector, Degrader, FlexibleCollimator, Monitor, RBend3D, RFCavity, Solenoid, Source, TravelingWave, and Vacuum.
Definition at line 83 of file Component.cpp.
References online_m.
Referenced by PluginElement::initialise().
|
virtualinherited |
Test for existence of an attribute.
Definition at line 200 of file ElementBase.cpp.
References getConstChannel().
Referenced by ParallelCyclotronTracker::visitSolenoid().
|
inlinevirtualinherited |
Definition at line 479 of file ElementBase.h.
References bgeometry_m.
|
inlinevirtualinherited |
Definition at line 487 of file ElementBase.h.
References parmatint_m.
|
inlinevirtualinherited |
Definition at line 471 of file ElementBase.h.
References wake_m.
|
virtual |
Initialise the Ring - set the bunch and allocate a new LossDataSink
| bunch | the particle bunch. Ring borrows this pointer (caller owns memory) |
Definition at line 150 of file Ring.cpp.
References ElementBase::getName(), Component::online_m, setLossDataSink(), and setRefPartBunch().
|
overridevirtual |
Initialise the Ring
| bunch | the particle bunch. Ring borrows this pointer (caller owns memory) |
| startField | - not used |
| endField | - not used |
| scaleFactor | - not used |
Implements Component.
Definition at line 156 of file Ring.cpp.
References initialise().
Referenced by initialise().
|
inlineinherited |
Definition at line 598 of file ElementBase.h.
References elemedgeSet_m.
|
inlinevirtualinherited |
Reimplemented in Bend2D, Degrader, Monitor, Multipole, RBend3D, RFCavity, Solenoid, and TravelingWave.
Definition at line 530 of file ElementBase.h.
References getElementLength(), and isInsideTransverse().
|
protectedinherited |
Definition at line 287 of file ElementBase.cpp.
References aperture_m.
Referenced by Component::apply(), Corrector::apply(), Multipole::apply(), Multipole::apply(), Undulator::apply(), Component::applyToReferenceParticle(), Multipole::applyToReferenceParticle(), isInside(), Monitor::isInside(), Multipole::isInside(), RFCavity::isInside(), Solenoid::isInside(), TravelingWave::isInside(), and FlexibleCollimator::isStopped().
|
inlineinherited |
Definition at line 556 of file ElementBase.h.
References positionIsFixed.
Referenced by OpalRBend3D::update(), OpalRBend::update(), and OpalSBend::update().
|
inlineinherited |
Test if the element can be shared.
Definition at line 463 of file ElementBase.h.
References shareFlag.
Referenced by copyStructure(), TBeamline< T >::copyStructure(), and Sequence::updateList().
|
inlineinherited |
| void Ring::lockRing | ( | ) |
Lock the ring
Lock the ring; apply closure checks and symmetry properties as required. Impose rule that start must be before end and switch objects around if this is not the case. Sort by startPosition azimuthal angle.
Sets isLocked_m to true. New elements can no longer be added (as it may break the symmetry/bound checking)
Definition at line 291 of file Ring.cpp.
References appendElement(), buildRingSections(), checkAndClose(), endl(), gmsg, isClosed_m, isLocked_m, section_list_m, and symmetry_m.
|
virtualinherited |
Set sharable flag.
Reimplemented in TBeamline< T >, TBeamline< FlaggedElmPtr >, and TBeamline< SequenceMember >.
Definition at line 253 of file ElementBase.cpp.
References shareFlag.
Referenced by OpalMarker::OpalMarker().
|
virtualinherited |
Definition at line 91 of file Component.cpp.
References online_m.
|
inlineinherited |
Definition at line 546 of file ElementBase.h.
References positionIsFixed.
Referenced by OpalRBend3D::update(), OpalRBend::update(), and OpalSBend::update().
|
virtualinherited |
Remove an existing attribute.
Definition at line 212 of file ElementBase.cpp.
References userAttribs.
|
inlineinherited |
|
private |
Definition at line 321 of file Ring.cpp.
References section_list_m.
|
private |
Definition at line 197 of file Ring.cpp.
References Rotation3D::getAxis(), Euclid3D::getRotation(), and Euclid3D::getVector().
Referenced by appendElement().
|
staticprivate |
|
inlineinherited |
Definition at line 561 of file ElementBase.h.
References actionRange_m, and elementEdge_m.
|
inlineinherited |
Definition at line 519 of file ElementBase.h.
References aperture_m.
Referenced by Component::Component(), Offset::operator=(), OpalElement::update(), OpalRBend3D::update(), OpalRBend::update(), OpalSBend::update(), and OpalSlit::update().
|
virtualinherited |
Set value of an attribute.
Definition at line 217 of file ElementBase.cpp.
References getChannel(), and Channel::isSettable().
Referenced by TBeamline< FlaggedElmPtr >::getChannel(), and OpalElement::updateUnknown().
|
inline |
Set the initial beam azimuthal angle
Definition at line 228 of file Ring.h.
References beamPhiInit_m.
Referenced by OpalRingDefinition::update().
|
inline |
Set the initial beam radial momentum
Definition at line 240 of file Ring.h.
References beamPRInit_m.
Referenced by OpalRingDefinition::update().
|
inline |
Set the initial beam radius
Definition at line 222 of file Ring.h.
References beamRInit_m.
Referenced by OpalRingDefinition::update().
|
inline |
Set the initial beam rotation relative to the tangent vector
Definition at line 234 of file Ring.h.
References beamThetaInit_m.
Referenced by OpalRingDefinition::update().
|
virtualinherited |
attach a boundary geometry field to the element
Definition at line 270 of file ElementBase.cpp.
References bgeometry_m.
Referenced by OpalCavity::update(), OpalCyclotron::update(), and OpalDrift::update().
|
inlineinherited |
Definition at line 491 of file ElementBase.h.
References csTrafoGlobal2Local_m, and positionIsFixed.
Referenced by OpalElement::update(), OpalRBend3D::update(), OpalRBend::update(), and OpalSBend::update().
|
inherited |
Definition at line 278 of file ElementBase.cpp.
|
inlinevirtualinherited |
Reimplemented in BendBase, Corrector, and RFCavity.
Definition at line 228 of file Component.h.
|
inlinevirtualinherited |
Set design length.
Reimplemented in MultipoleT.
Definition at line 419 of file ElementBase.h.
References getGeometry(), and BGeometryBase::setElementLength().
Referenced by Bend2D::initialise(), RBend3D::initialise(), RFCavity::initialise(), Solenoid::initialise(), TravelingWave::initialise(), MultipoleT::setElementLength(), SequenceMember::setLength(), OpalCavity::update(), OpalCCollimator::update(), OpalDrift::update(), OpalECollimator::update(), OpalFlexibleCollimator::update(), OpalHKicker::update(), OpalKicker::update(), OpalMonitor::update(), OpalMultipole::update(), OpalOctupole::update(), OpalPepperPot::update(), OpalProbe::update(), OpalQuadrupole::update(), OpalRBend3D::update(), OpalRCollimator::update(), OpalSeptum::update(), OpalSextupole::update(), OpalSlit::update(), OpalSolenoid::update(), OpalSource::update(), OpalStripper::update(), OpalTravelingWave::update(), OpalUndulator::update(), OpalVacuum::update(), and OpalVKicker::update().
|
inlineinherited |
Access to ELEMEDGE attribute.
Definition at line 583 of file ElementBase.h.
References elemedgeSet_m, and elementPosition_m.
Referenced by OpalElement::update().
|
inlineinherited |
Definition at line 225 of file Component.h.
References exit_face_slope_m.
|
inlineinherited |
Definition at line 608 of file ElementBase.h.
References deleteOnTransverseExit_m.
Referenced by OpalElement::update().
|
inline |
Set the harmonic number for RF (number of bunches in the ring)
Definition at line 209 of file Ring.h.
References cyclHarm_m.
Referenced by OpalRingDefinition::update().
|
inline |
Set flag for closure checking
Definition at line 285 of file Ring.h.
References isClosed_m.
Referenced by OpalRingDefinition::update().
|
inline |
Set the initial element's azimuthal angle
Definition at line 252 of file Ring.h.
References latticePhiInit_m.
Referenced by OpalRingDefinition::update().
|
inline |
Set the initial element's radius
Definition at line 246 of file Ring.h.
References latticeRInit_m.
Referenced by OpalRingDefinition::update().
|
inline |
Set the first element's horizontal angle
Set the angle in the ring plane with respect to the tangent vector
Definition at line 267 of file Ring.h.
References latticeThetaInit_m.
Referenced by OpalRingDefinition::update().
| void Ring::setLossDataSink | ( | LossDataSink * | sink | ) |
Set LossDataSink to sink.
| sink | The LossDataSink. Ring takes ownership of memory allocated to sink |
Definition at line 140 of file Ring.cpp.
References lossDS_m.
Referenced by finalise(), and initialise().
|
inlineinherited |
Definition at line 536 of file ElementBase.h.
References misalignment_m.
Referenced by OpalElement::update().
|
virtualinherited |
Set element name.
Definition at line 167 of file ElementBase.cpp.
References elementID, and name.
Referenced by Sequence::insertDrifts(), Offset::operator=(), and VariableRFCavity::operator=().
|
inherited |
Set output filename.
Definition at line 172 of file ElementBase.cpp.
References outputfn_m.
Referenced by OpalCCollimator::update(), OpalCyclotron::update(), OpalECollimator::update(), OpalFlexibleCollimator::update(), OpalMonitor::update(), OpalOutputPlane::update(), OpalPepperPot::update(), OpalProbe::update(), OpalRCollimator::update(), OpalSeptum::update(), OpalSlit::update(), OpalSource::update(), and OpalStripper::update().
|
virtualinherited |
Definition at line 274 of file ElementBase.cpp.
References parmatint_m.
Referenced by OpalCCollimator::update(), OpalDrift::update(), OpalECollimator::update(), OpalFlexibleCollimator::update(), OpalPepperPot::update(), OpalQuadrupole::update(), OpalRBend3D::update(), OpalRBend::update(), OpalRCollimator::update(), OpalSBend::update(), OpalSlit::update(), and OpalVacuum::update().
| void Ring::setRefPartBunch | ( | PartBunchBase< double, 3 > * | bunch | ) |
Set RefPartBunchBase<double, 3> to bunch.
| sink | The Bunch. Ring borrows memory allocated to bunch. |
Note for compliance with style guide and compatibility with parent two pointer to RefPartBunchBase<double, 3> are stored; this keeps them aligned
Definition at line 167 of file Ring.cpp.
References Component::RefPartBunch_m, and refPartBunch_m.
Referenced by initialise(), Ring(), and Ring().
|
inline |
Set the nominal RF frequency
Definition at line 216 of file Ring.h.
References rfFreq_m.
Referenced by OpalRingDefinition::update().
| void Ring::setRingAperture | ( | double | minR, |
| double | maxR ) |
Set the ring aperture limits
minR; the minimum radius allowed during tracking. Throws if minR < 0
maxR; the maximum radius allowed during tracking. Throws if maxR < 0 Sets willDoRingAperture_m to true.
Definition at line 376 of file Ring.cpp.
References maxR2_m, minR2_m, and willDoAperture_m.
Referenced by OpalRingDefinition::update().
|
inlineinherited |
Set rotation about z axis in bend frame.
Definition at line 569 of file ElementBase.h.
References rotationZAxis_m.
Referenced by OpalElement::update().
|
inline |
Set the scaling factor for the fields
Definition at line 279 of file Ring.h.
References scale_m.
Referenced by OpalRingDefinition::update().
|
inline |
Set the rotational symmetry of the ring (number of cells)
Definition at line 276 of file Ring.h.
References symmetry_m.
Referenced by OpalRingDefinition::update().
|
virtualinherited |
attach a wake field to the element
Definition at line 266 of file ElementBase.cpp.
References wake_m.
Referenced by OpalCavity::update(), OpalDrift::update(), OpalProbe::update(), OpalRBend3D::update(), OpalRBend::update(), OpalSBend::update(), OpalSeptum::update(), and OpalTravelingWave::update().
|
virtualinherited |
Track particle bunch.
Definition at line 71 of file Component.cpp.
References ElementBase::getName().
Referenced by Tracker::visitComponent().
|
virtualinherited |
Track a map.
Definition at line 77 of file Component.cpp.
References ElementBase::getName().
|
inherited |
Update element.
Definition at line 258 of file ElementBase.cpp.
Referenced by Monitor::driftToCorrectPositionAndSave().
|
privateinherited |
Definition at line 399 of file ElementBase.h.
Referenced by setActionRange().
|
staticprivate |
Definition at line 418 of file Ring.h.
Referenced by checkAndClose(), and checkMidplane().
|
protectedinherited |
Definition at line 369 of file ElementBase.h.
Referenced by ElementBase(), getAperture(), Bend2D::getOutline(), Bend2D::getSurfaceMesh(), Bend2D::inMagnetCentralRegion(), Bend2D::inMagnetEntranceRegion(), Bend2D::inMagnetExitRegion(), isInsideTransverse(), setAperture(), Bend2D::setFieldCalcParam(), Bend2D::setupBendGeometry(), and Bend2D::setupFringeWidths().
|
private |
Definition at line 379 of file Ring.h.
Referenced by getBeamPhiInit(), Ring(), Ring(), and setBeamPhiInit().
|
private |
Definition at line 378 of file Ring.h.
Referenced by getBeamPRInit(), Ring(), Ring(), and setBeamPRInit().
|
private |
Definition at line 377 of file Ring.h.
Referenced by getBeamRInit(), Ring(), Ring(), and setBeamRInit().
|
private |
Definition at line 380 of file Ring.h.
Referenced by getBeamThetaInit(), Ring(), and setBeamThetaInit().
|
privateinherited |
Definition at line 390 of file ElementBase.h.
Referenced by ElementBase(), getBoundaryGeometry(), hasBoundaryGeometry(), and setBoundaryGeometry().
|
protectedinherited |
Definition at line 366 of file ElementBase.h.
Referenced by Monitor::applyToReferenceParticle(), ElementBase(), Bend2D::getBoundingBoxInLabCoords(), getBoundingBoxInLabCoords(), getCSTrafoGlobal2Local(), and setCSTrafoGlobal2Local().
|
private |
Definition at line 406 of file Ring.h.
Referenced by getHarmonicNumber(), Ring(), Ring(), and setHarmonicNumber().
|
staticprotectedinherited |
Definition at line 187 of file Component.h.
Referenced by Component().
|
privateinherited |
Definition at line 403 of file ElementBase.h.
Referenced by ElementBase(), getFlagDeleteOnTransverseExit(), and setFlagDeleteOnTransverseExit().
|
privateinherited |
Definition at line 397 of file ElementBase.h.
Referenced by ElementBase(), getElementPosition(), isElementPositionSet(), and setElementPosition().
|
protectedinherited |
Definition at line 371 of file ElementBase.h.
Referenced by ElementBase(), Bend2D::getEffectiveCenter(), Bend2D::initialise(), Bend2D::print(), setActionRange(), and Bend2D::setupBendGeometry().
|
privateinherited |
Definition at line 381 of file ElementBase.h.
Referenced by ElementBase(), getName(), and setName().
|
privateinherited |
ELEMEDGE attribute.
Definition at line 396 of file ElementBase.h.
Referenced by ElementBase(), getElementPosition(), and setElementPosition().
|
staticprivateinherited |
Definition at line 71 of file ElementBase.h.
Referenced by getTypeString().
|
protectedinherited |
Definition at line 189 of file Component.h.
Referenced by Component(), Component(), and setExitFaceSlope().
|
private |
Definition at line 398 of file Ring.h.
Referenced by getIsClosed(), lockRing(), Ring(), Ring(), and setIsClosed().
|
private |
Definition at line 394 of file Ring.h.
Referenced by appendElement(), lockRing(), Ring(), and Ring().
|
private |
Definition at line 384 of file Ring.h.
Referenced by getLatticePhiInit(), getStartNormal(), getStartPosition(), Ring(), Ring(), and setLatticePhiInit().
|
private |
Definition at line 383 of file Ring.h.
Referenced by getLatticeRInit(), getStartPosition(), Ring(), Ring(), and setLatticeRInit().
|
private |
Definition at line 385 of file Ring.h.
Referenced by getLatticeThetaInit(), getStartNormal(), Ring(), Ring(), and setLatticeThetaInit().
|
staticprivate |
Definition at line 417 of file Ring.h.
Referenced by checkAndClose(), and checkMidplane().
|
private |
Definition at line 374 of file Ring.h.
Referenced by apply(), finalise(), Ring(), Ring(), and setLossDataSink().
|
private |
Definition at line 391 of file Ring.h.
Referenced by apply(), getRingMaxR(), Ring(), and setRingAperture().
|
private |
Definition at line 390 of file Ring.h.
Referenced by getRingMinR(), Ring(), and setRingAperture().
|
protectedinherited |
Definition at line 367 of file ElementBase.h.
Referenced by ElementBase(), getMisalignment(), and setMisalignment().
|
protectedinherited |
Definition at line 192 of file Component.h.
Referenced by Monitor::apply(), Source::apply(), Component(), Component(), Probe::doGoOffline(), Bend2D::finalise(), Cyclotron::finalise(), FlexibleCollimator::finalise(), Multipole::finalise(), PluginElement::finalise(), Ring::finalise(), Vacuum::finalise(), goOffline(), Degrader::goOffline(), FlexibleCollimator::goOffline(), PluginElement::goOffline(), RBend3D::goOffline(), RFCavity::goOffline(), Solenoid::goOffline(), Source::goOffline(), Vacuum::goOffline(), Bend2D::goOnline(), CCollimator::goOnline(), goOnline(), Corrector::goOnline(), Degrader::goOnline(), FlexibleCollimator::goOnline(), Monitor::goOnline(), RBend3D::goOnline(), RFCavity::goOnline(), Solenoid::goOnline(), Source::goOnline(), TravelingWave::goOnline(), Vacuum::goOnline(), Cyclotron::initialise(), Multipole::initialise(), Ring::initialise(), Septum::initialise(), Online(), Degrader::~Degrader(), FlexibleCollimator::~FlexibleCollimator(), and Vacuum::~Vacuum().
|
privateinherited |
The name of the outputfile
Definition at line 401 of file ElementBase.h.
Referenced by ElementBase(), getOutputFN(), and setOutputFN().
|
privateinherited |
Definition at line 392 of file ElementBase.h.
Referenced by ElementBase(), getParticleMatterInteraction(), hasParticleMatterInteraction(), and setParticleMatterInteraction().
|
private |
Definition at line 412 of file Ring.h.
Referenced by buildRingSections(), Ring(), and Ring().
|
private |
Definition at line 363 of file Ring.h.
Referenced by getGeometry(), getGeometry(), Ring(), and Ring().
|
privateinherited |
Definition at line 394 of file ElementBase.h.
Referenced by ElementBase(), fixPosition(), isPositioned(), releasePosition(), and setCSTrafoGlobal2Local().
|
mutableprivateinherited |
Definition at line 76 of file RCObject.h.
Referenced by addReference(), isShared(), RCObject(), RCObject(), and removeReference().
|
protectedinherited |
Definition at line 191 of file Component.h.
Referenced by Bend2D::apply(), Corrector::apply(), Corrector::apply(), Cyclotron::apply(), Degrader::apply(), FlexibleCollimator::apply(), Monitor::apply(), Multipole::apply(), MultipoleT::apply(), RBend3D::apply(), RFCavity::apply(), SBend3D::apply(), ScalingFFAMagnet::apply(), Solenoid::apply(), Source::apply(), TravelingWave::apply(), Undulator::apply(), VariableRFCavity::apply(), VariableRFCavityFringeField::apply(), VerticalFFAMagnet::apply(), Degrader::applyToReferenceParticle(), Monitor::applyToReferenceParticle(), BendBase::calcDesignRadius(), BendBase::calcFieldAmplitude(), BendBase::calcGamma(), Bend2D::calculateBendAngle(), Bend2D::calculateRefTrajectory(), Component(), Component(), Monitor::driftToCorrectPositionAndSave(), MultipoleT::finalise(), Offset::finalise(), SBend3D::finalise(), ScalingFFAMagnet::finalise(), VariableRFCavity::finalise(), VerticalFFAMagnet::finalise(), RBend::findChordLength(), Bend2D::findIdealBendParameters(), Corrector::goOnline(), Degrader::goOnline(), Corrector::initialise(), Cyclotron::initialise(), Cyclotron::initialise(), Degrader::initialise(), Drift::initialise(), FlexibleCollimator::initialise(), FlexibleCollimator::initialise(), Marker::initialise(), Monitor::initialise(), Multipole::initialise(), MultipoleT::initialise(), Offset::initialise(), PluginElement::initialise(), RBend3D::initialise(), RFCavity::initialise(), RFCavity::initialise(), SBend3D::initialise(), ScalingFFAMagnet::initialise(), Solenoid::initialise(), Source::initialise(), TravelingWave::initialise(), Undulator::initialise(), Vacuum::initialise(), VariableRFCavity::initialise(), VerticalFFAMagnet::initialise(), VariableRFCavity::initNull(), Multipole::isFocusing(), MultipoleT::MultipoleT(), CCollimator::print(), FlexibleCollimator::print(), SBend3D::SBend3D(), ScalingFFAMagnet::ScalingFFAMagnet(), Corrector::setDesignEnergy(), Ring::setRefPartBunch(), Bend2D::setupPusher(), RFCavity::trackOnAxisParticle(), RBend3D::trackRefParticleThrough(), Vacuum::updateParticleAttributes(), and VerticalFFAMagnet::VerticalFFAMagnet().
|
private |
|
private |
Definition at line 409 of file Ring.h.
Referenced by getRFFreq(), Ring(), and setRFFreq().
|
private |
Definition at line 413 of file Ring.h.
Referenced by buildRingSections(), Ring(), and Ring().
|
protectedinherited |
Definition at line 373 of file ElementBase.h.
Referenced by ElementBase(), Bend2D::findIdealBendParameters(), getRotationAboutZ(), RBend3D::initialise(), Bend2D::print(), and setRotationAboutZ().
|
private |
Definition at line 403 of file Ring.h.
Referenced by apply(), and setScale().
|
private |
Definition at line 414 of file Ring.h.
Referenced by appendElement(), buildRingSections(), checkAndClose(), getLastSectionPlaced(), getNextNormal(), getNextPosition(), getNumberOfRingSections(), getSection(), getSectionsAt(), lockRing(), resetAzimuths(), Ring(), Ring(), and ~Ring().
|
mutableprotectedinherited |
Definition at line 364 of file ElementBase.h.
Referenced by Beamline::Beamline(), Beamline::Beamline(), Beamline::Beamline(), ElementBase(), isSharable(), makeSharable(), and TBeamline< T >::makeSharable().
|
private |
Definition at line 401 of file Ring.h.
Referenced by getSymmetry(), lockRing(), Ring(), Ring(), and setSymmetry().
|
privateinherited |
Definition at line 386 of file ElementBase.h.
Referenced by ElementBase(), getChannel(), and removeAttribute().
|
privateinherited |
Definition at line 388 of file ElementBase.h.
Referenced by ElementBase(), getWake(), hasWake(), and setWake().
|
private |
Definition at line 389 of file Ring.h.
Referenced by apply(), Ring(), and setRingAperture().