|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
Interface for solenoids. More...
#include <Solenoid.h>
Public Member Functions | |
| Solenoid (const std::string &name) | |
| Constructor with given name. | |
| Solenoid () | |
| Solenoid (const Solenoid &) | |
| virtual | ~Solenoid () |
| virtual void | accept (BeamlineVisitor &) const override |
| Apply visitor to Solenoid. | |
| virtual double | getBz () const =0 |
| Get solenoid field Bz in Teslas. | |
| void | setKS (double ks) |
| void | setDKS (double ks) |
| virtual bool | apply (const size_t &i, 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 bool | applyToReferenceParticle (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 | finalise () override |
| virtual bool | bends () const override |
| virtual void | goOnline (const double &kineticEnergy) override |
| virtual void | goOffline () override |
| void | setFieldMapFN (std::string fn) |
| void | setFast (bool fast) |
| bool | getFast () const |
| virtual ElementType | getType () const override |
| Get element type std::string. | |
| virtual void | getDimensions (double &zBegin, double &zEnd) const override |
| virtual bool | isInside (const Vector_t &r) const override |
| virtual void | getElementDimensions (double &zBegin, double &zEnd) const override |
| virtual CoordinateSystemTrafo | getEdgeToBegin () const override |
| virtual CoordinateSystemTrafo | getEdgeToEnd () const override |
| virtual EMField & | getField ()=0 |
| Return field. | |
| virtual const EMField & | getField () const =0 |
| Return field. | |
| 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 | getPotential (const Vector_t &, const double &, Vector_t &, double &) |
| virtual double | getDesignEnergy () const |
| virtual void | setDesignEnergy (const double &energy, bool changeable=true) |
| virtual bool | Online () |
| 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 BGeometryBase & | getGeometry ()=0 |
| Get geometry. | |
| virtual const BGeometryBase & | getGeometry () const =0 |
| Get geometry. | |
| virtual double | getArcLength () const |
| Get arc length. | |
| virtual double | getElementLength () const |
| Get design length. | |
| virtual void | setElementLength (double length) |
| Set design length. | |
| 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 * | clone () const =0 |
| Return clone. | |
| 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 |
| void | setAperture (const ApertureType &type, const std::vector< double > &args) |
| std::pair< ApertureType, std::vector< double > > | getAperture () 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 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 | operator= (const Solenoid &) |
Private Attributes | |
| std::string | filename_m |
| Fieldmap | myFieldmap_m |
| double | scale_m |
| double | scaleError_m |
| double | startField_m |
| bool | fast_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 std::map< ElementType, std::string > | elementTypeToString_s |
Interface for solenoids.
Definition at line 36 of file Solenoid.h.
|
explicit |
Constructor with given name.
Definition at line 51 of file Solenoid.cpp.
References Component::Component(), fast_m, filename_m, myFieldmap_m, name, scale_m, scaleError_m, and startField_m.
Referenced by operator=(), Solenoid(), Solenoid(), SolenoidRep::SolenoidRep(), SolenoidRep::SolenoidRep(), and SolenoidRep::SolenoidRep().
| Solenoid::Solenoid | ( | ) |
Definition at line 35 of file Solenoid.cpp.
References Solenoid().
| Solenoid::Solenoid | ( | const Solenoid & | right | ) |
Definition at line 40 of file Solenoid.cpp.
References Component::Component(), fast_m, filename_m, myFieldmap_m, scale_m, scaleError_m, Solenoid(), and startField_m.
|
virtual |
Definition at line 62 of file Solenoid.cpp.
|
overridevirtual |
Apply visitor to Solenoid.
Implements ElementBase.
Definition at line 67 of file Solenoid.cpp.
References BeamlineVisitor::visitSolenoid().
|
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().
|
overridevirtual |
Reimplemented from Component.
Definition at line 84 of file Solenoid.cpp.
References apply(), and Component::RefPartBunch_m.
Referenced by apply().
|
overridevirtual |
Reimplemented from Component.
Definition at line 88 of file Solenoid.cpp.
References ElementBase::getElementLength(), ElementBase::getFlagDeleteOnTransverseExit(), myFieldmap_m, scale_m, scaleError_m, and startField_m.
|
overridevirtual |
Reimplemented from Component.
Definition at line 104 of file Solenoid.cpp.
References ElementBase::getElementLength(), myFieldmap_m, scale_m, and startField_m.
|
overridevirtual |
Implements Component.
Definition at line 144 of file Solenoid.cpp.
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().
|
pure virtualinherited |
Return clone.
Implemented in CCollimatorRep, CorrectorRep, CyclotronRep, DegraderRep, DriftRep, FlexibleCollimatorRep, MarkerRep, MonitorRep, MultipoleRep, MultipoleT, Offset, OutputPlane, ProbeRep, RBend3D, RBendRep, RFCavityRep, Ring, SBend3D, SBendRep, ScalingFFAMagnet, SeptumRep, SingleMultipole< order >, SingleMultipole< -2 >, SingleMultipole< -3 >, SingleMultipole< -4 >, SingleMultipole< 2 >, SingleMultipole< 3 >, SingleMultipole< 4 >, SolenoidRep, SourceRep, StripperRep, TBeamline< T >, TBeamline< FlaggedElmPtr >, TBeamline< SequenceMember >, TravelingWaveRep, UndulatorRep, VacuumRep, VariableRFCavity, VariableRFCavityFringeField, VerticalFFAMagnet, XCorrectorRep, and YCorrectorRep.
References ElementBase().
Referenced by Ring::appendElement(), Sequence::copy(), RingSection::operator=(), ParallelCyclotronTracker::ParallelCyclotronTracker(), OpalBeamline::visit(), ParallelCyclotronTracker::visitCCollimator(), ParallelCyclotronTracker::visitCorrector(), ParallelCyclotronTracker::visitCyclotron(), ParallelCyclotronTracker::visitDrift(), ParallelCyclotronTracker::visitMarker(), ParallelCyclotronTracker::visitMonitor(), ParallelCyclotronTracker::visitMultipole(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitRBend(), ParallelCyclotronTracker::visitRFCavity(), ParallelCyclotronTracker::visitSBend(), ParallelCyclotronTracker::visitSeptum(), ParallelCyclotronTracker::visitSolenoid(), ParallelCyclotronTracker::visitStripper(), and ParallelCyclotronTracker::visitVacuum().
|
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 |
Implements Component.
Definition at line 141 of file Solenoid.cpp.
|
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().
|
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().
|
pure virtual |
Get solenoid field Bz in Teslas.
Implemented in SolenoidRep.
|
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 |
Implements Component.
Definition at line 167 of file Solenoid.cpp.
References ElementBase::getElementLength(), and startField_m.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Reimplemented from ElementBase.
Definition at line 117 of file Solenoid.h.
References ElementBase::getElementLength(), and startField_m.
|
overridevirtual |
Reimplemented from ElementBase.
Definition at line 182 of file Solenoid.cpp.
References begin(), end(), ElementBase::getElementLength(), and startField_m.
|
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().
| bool Solenoid::getFast | ( | ) | const |
Definition at line 80 of file Solenoid.cpp.
References fast_m.
|
pure virtualinherited |
Return field.
Implemented in CCollimatorRep, Corrector, CorrectorRep, CyclotronRep, DegraderRep, DriftRep, FlexibleCollimatorRep, MarkerRep, MonitorRep, Multipole, MultipoleRep, MultipoleT, Offset, OutputPlane, ProbeRep, RBend3D, RBend, RBendRep, RFCavityRep, Ring, SBend3D, SBend, SBendRep, ScalingFFAMagnet, SeptumRep, SingleMultipole< order >, SingleMultipole< -2 >, SingleMultipole< -3 >, SingleMultipole< -4 >, SingleMultipole< 2 >, SingleMultipole< 3 >, SingleMultipole< 4 >, SolenoidRep, SourceRep, StripperRep, TravelingWaveRep, UndulatorRep, VacuumRep, VariableRFCavity, and VerticalFFAMagnet.
|
pure virtualinherited |
Return field.
Implemented in CCollimatorRep, Corrector, CorrectorRep, CyclotronRep, DegraderRep, DriftRep, FlexibleCollimatorRep, MarkerRep, MonitorRep, Multipole, MultipoleRep, MultipoleT, Offset, OutputPlane, ProbeRep, RBend3D, RBend, RBendRep, RFCavityRep, Ring, SBend3D, SBend, SBendRep, ScalingFFAMagnet, SeptumRep, SingleMultipole< order >, SingleMultipole< -2 >, SingleMultipole< -3 >, SingleMultipole< -4 >, SingleMultipole< 2 >, SingleMultipole< 3 >, SingleMultipole< 4 >, SolenoidRep, SourceRep, StripperRep, TravelingWaveRep, UndulatorRep, VacuumRep, VariableRFCavity, and VerticalFFAMagnet.
Referenced by Bfield(), Bfield(), EBfield(), EBfield(), Efield(), and Efield().
|
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().
|
pure virtualinherited |
Get geometry.
Implemented in CCollimatorRep, Corrector, CorrectorRep, CyclotronRep, DegraderRep, DriftRep, FlexibleCollimatorRep, MarkerRep, Monitor, MonitorRep, Multipole, MultipoleRep, MultipoleT, Offset, OutputPlane, ProbeRep, RBend3D, RBend, RBendRep, RFCavityRep, Ring, SBend3D, SBend, SBendRep, ScalingFFAMagnet, SeptumRep, SingleMultipole< order >, SingleMultipole< -2 >, SingleMultipole< -3 >, SingleMultipole< -4 >, SingleMultipole< 2 >, SingleMultipole< 3 >, SingleMultipole< 4 >, SolenoidRep, SourceRep, StripperRep, TBeamline< T >, TBeamline< FlaggedElmPtr >, TBeamline< SequenceMember >, TravelingWaveRep, UndulatorRep, VacuumRep, VariableRFCavity, and VerticalFFAMagnet.
|
pure virtualinherited |
Get geometry.
Implemented in CCollimatorRep, Corrector, CorrectorRep, CyclotronRep, DegraderRep, DriftRep, FlexibleCollimatorRep, MarkerRep, Monitor, MonitorRep, Multipole, MultipoleRep, MultipoleT, Offset, OutputPlane, ProbeRep, RBend3D, RBend, RBendRep, RFCavityRep, Ring, SBend3D, SBend, SBendRep, ScalingFFAMagnet, SeptumRep, SingleMultipole< order >, SingleMultipole< -2 >, SingleMultipole< -3 >, SingleMultipole< -4 >, SingleMultipole< 2 >, SingleMultipole< 3 >, SingleMultipole< 4 >, SolenoidRep, SourceRep, StripperRep, TBeamline< T >, TBeamline< FlaggedElmPtr >, TBeamline< SequenceMember >, TravelingWaveRep, UndulatorRep, VacuumRep, VariableRFCavity, and VerticalFFAMagnet.
Referenced by Ring::appendElement(), getArcLength(), getElementLength(), getEntrance(), getEntranceFrame(), getEntrancePatch(), getExit(), getExitFrame(), getExitPatch(), getOrigin(), getTotalTransform(), getTransform(), getTransform(), and setElementLength().
|
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().
|
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.
|
inlinevirtualinherited |
|
inlineinherited |
Definition at line 574 of file ElementBase.h.
References rotationZAxis_m.
Referenced by OpalBeamline::compute3DLattice(), and Bend2D::setFieldCalcParam().
|
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().
|
overridevirtual |
Get element type std::string.
Reimplemented from Component.
Definition at line 173 of file Solenoid.cpp.
References SOLENOID.
|
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.
|
overridevirtual |
Reimplemented from Component.
Definition at line 154 of file Solenoid.cpp.
References filename_m, _Fieldmap::freeMap(), and Component::online_m.
|
overridevirtual |
Reimplemented from Component.
Definition at line 149 of file Solenoid.cpp.
References filename_m, Component::online_m, and _Fieldmap::readMap().
|
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.
|
overridevirtual |
Implements Component.
Definition at line 119 of file Solenoid.cpp.
References fast_m, filename_m, ElementBase::getElementLength(), _Fieldmap::getFieldmap(), ElementBase::getName(), gmsg, level2(), myFieldmap_m, Component::RefPartBunch_m, ElementBase::setElementLength(), and startField_m.
|
inlineinherited |
Definition at line 598 of file ElementBase.h.
References elemedgeSet_m.
|
overridevirtual |
Reimplemented from ElementBase.
Definition at line 177 of file Solenoid.cpp.
References ElementBase::isInsideTransverse(), and myFieldmap_m.
|
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 |
|
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.
|
private |
|
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 |
|
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().
|
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.
| void Solenoid::setDKS | ( | double | ks | ) |
Definition at line 163 of file Solenoid.cpp.
References scaleError_m.
Referenced by OpalSolenoid::update().
|
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.
| void Solenoid::setFast | ( | bool | fast | ) |
Definition at line 75 of file Solenoid.cpp.
References fast_m.
Referenced by OpalSolenoid::update().
| void Solenoid::setFieldMapFN | ( | std::string | fn | ) |
Definition at line 71 of file Solenoid.cpp.
References filename_m.
Referenced by OpalSolenoid::update().
|
inlineinherited |
Definition at line 608 of file ElementBase.h.
References deleteOnTransverseExit_m.
Referenced by OpalElement::update().
| void Solenoid::setKS | ( | double | ks | ) |
Definition at line 159 of file Solenoid.cpp.
References scale_m.
Referenced by OpalSolenoid::update().
|
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().
|
inlineinherited |
Set rotation about z axis in bend frame.
Definition at line 569 of file ElementBase.h.
References rotationZAxis_m.
Referenced by OpalElement::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().
|
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().
|
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().
|
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 100 of file Solenoid.h.
Referenced by getFast(), initialise(), setFast(), Solenoid(), and Solenoid().
|
private |
The name of the inputfile
Definition at line 93 of file Solenoid.h.
Referenced by goOffline(), goOnline(), initialise(), setFieldMapFN(), Solenoid(), and Solenoid().
|
protectedinherited |
Definition at line 367 of file ElementBase.h.
Referenced by ElementBase(), getMisalignment(), and setMisalignment().
|
private |
Definition at line 94 of file Solenoid.h.
Referenced by apply(), applyToReferenceParticle(), initialise(), isInside(), Solenoid(), and Solenoid().
|
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().
|
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().
|
protectedinherited |
Definition at line 373 of file ElementBase.h.
Referenced by ElementBase(), Bend2D::findIdealBendParameters(), getRotationAboutZ(), RBend3D::initialise(), Bend2D::print(), and setRotationAboutZ().
|
private |
scale multiplier
Definition at line 95 of file Solenoid.h.
Referenced by apply(), applyToReferenceParticle(), setKS(), Solenoid(), and Solenoid().
|
private |
scale multiplier error
Definition at line 96 of file Solenoid.h.
Referenced by apply(), setDKS(), Solenoid(), and Solenoid().
|
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 |
startingpoint of field, m
Definition at line 98 of file Solenoid.h.
Referenced by apply(), applyToReferenceParticle(), getDimensions(), getEdgeToBegin(), getEdgeToEnd(), getElementDimensions(), initialise(), Solenoid(), and Solenoid().
|
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().