|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <OutputPlane.h>
Public Types | |
| enum class | algorithm { RK4STEP , INTERPOLATION } |
Public Member Functions | |
| OutputPlane (const std::string &name) | |
| OutputPlane () | |
| OutputPlane (const OutputPlane &) | |
| virtual | ~OutputPlane () |
| ElementBase * | clone () const override |
| virtual void | accept (BeamlineVisitor &) const override |
| Component * | getGlobalFieldMap () const |
| void | setGlobalFieldMap (Component *field) |
| Vector_t | getNormal () const |
| void | setNormal (Vector_t normal) |
| Vector_t | getCentre () const |
| void | setCentre (Vector_t centre) |
| double | getTolerance () const |
| void | setTolerance (double tolerance) |
| size_t | getMaxIterations () const |
| void | setMaxIterations (size_t max) |
| int | getRecentre () const |
| void | setRecentre (int willRecentre) |
| double | getRadialExtent () const |
| void | setRadialExtent (double r) |
| double | getVerticalExtent () const |
| void | setVerticalExtent (double z) |
| double | getHorizontalExtent () const |
| void | setHorizontalExtent (double width) |
| algorithm | getAlgorithm () const |
| void | setAlgorithm (algorithm alg) |
| int | getVerboseLevel () const |
| void | setVerboseLevel (int verbose) |
| bool | checkOne (const int index, const double tstep, double chargeToMass, double &t, Vector_t &R, Vector_t &P) |
| NullField & | getField () override |
| const NullField & | getField () const override |
| StraightGeometry & | getGeometry () override |
| const StraightGeometry & | getGeometry () const override |
| void | RK4Step (const double &tstep, const double &chargeToMass, const double &t, Vector_t &R, Vector_t &P) const |
| void | operator= (const OutputPlane &)=delete |
| ElementType | getType () const override |
| Get element type std::string. | |
| void | recentre (Vector_t R, Vector_t P) |
| virtual bool | apply (const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) |
| void | setDimensions (double xstart, double xend, double ystart, double yend) |
| Set dimensions and consistency checks. | |
| bool | check (PartBunchBase< double, 3 > *bunch, const int turnnumber, const double t, const double tstep) |
| int | checkPoint (const double &x, const double &y) const |
| Checks if coordinate is within element. | |
| void | save () |
| Save output. | |
| 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 void | goOnline (const double &kineticEnergy) |
| 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 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. | |
| virtual void | initialise (PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override |
| Pure virtual implementation of Component. | |
| void | initialise (PartBunchBase< double, 3 > *bunch) |
| virtual void | finalise () final |
| virtual void | goOffline () final |
| virtual bool | bends () const override |
| virtual void | getDimensions (double &zBegin, double &zEnd) const override |
| virtual bool | apply (const size_t &i, const double &t, Vector_t &E, Vector_t &B) override |
| Virtual implementation of Component. | |
| virtual bool | applyToReferenceParticle (const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override |
| double | getXStart () const |
| Member variable access. | |
| double | getXEnd () const |
| double | getYStart () const |
| double | getYEnd () const |
| 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 | |
| void | setGeom (const double dist) |
| Sets geometry geom_m with element width dist. | |
| void | changeWidth (PartBunchBase< double, 3 > *bunch, int i, const double tstep, const double tangle) |
| Change probe width depending on step size and angle of particle. | |
| double | calculateIncidentAngle (double xp, double yp) const |
| Calculate angle of particle/bunch wrt to element. | |
| bool | isInsideTransverse (const Vector_t &r) const |
Protected Attributes | |
| double | rmin_m |
| radius closest to the origin | |
| double | A_m |
| double | B_m |
| double | R_m |
| double | C_m |
| Geometric lengths used in calculations. | |
| std::unique_ptr< LossDataSink > | lossDs_m |
| Pointer to Loss instance. | |
| int | numPassages_m = 0 |
| Number of turns (number of times save() method is called). | |
| 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 |
| double | xstart_m |
| input geometry positions | |
| double | xend_m |
| double | ystart_m |
| double | yend_m |
| double | rstart_m |
| double | rend_m |
Static Protected Attributes | |
| static const std::vector< double > | defaultAperture_m |
Private Types | |
| typedef std::function< bool(const double &, const size_t &, Vector_t &, Vector_t &)> | function_t |
Private Member Functions | |
| virtual void | doInitialise (PartBunchBase< double, 3 > *) override |
| Initialise peakfinder file. | |
| bool | doPreCheck (PartBunchBase< double, 3 > *bunch) override |
| Record probe hits when bunch particles pass. | |
| virtual bool | doCheck (PartBunchBase< double, 3 > *bunch, const int turnnumber, const double t, const double tstep) override |
| Record probe hits when bunch particles pass. | |
| virtual void | doGoOffline () override |
| Hook for goOffline. | |
| void | getDerivatives (const Vector_t &R, const Vector_t &P, const double &t, const double &chargeToMass, double *yp) const |
| double | distanceToPlane (Vector_t point) const |
| void | rk4Test (double tstep, double chargeToMass, double &t, Vector_t &R, Vector_t &P) |
| void | interpolation (double &t, Vector_t &R, Vector_t &P) |
| bool | getFieldsAtPoint (const Vector_t &R, const Vector_t &P, const double &t, Vector_t &Efield, Vector_t &Bfield) |
| bool | preCheck (PartBunchBase< double, 3 > *bunch) |
| Check if bunch is close to element. | |
| bool | finaliseCheck (PartBunchBase< double, 3 > *bunch, bool flagNeedUpdate) |
| Finalise call after check. | |
| virtual void | doSetGeom () |
| Virtual hook for setGeom. | |
| virtual bool | doFinaliseCheck (PartBunchBase< double, 3 > *, bool flagNeedUpdate) |
| Virtual hook for finaliseCheck. | |
| virtual void | doFinalise () |
| Virtual hook for finalise. | |
Private Attributes | |
| Component * | field_m = NULL |
| Vector_t | normal_m |
| Vector_t | centre_m |
| double | radialExtent_m = -1.0 |
| double | verticalExtent_m = -1.0 |
| double | horizontalExtent_m = -1.0 |
| size_t | maxIterations_m = 10 |
| double | tolerance_m = 1e-9 |
| NullField | nullfield_m |
| StraightGeometry | geom_m |
| algorithm | algorithm_m |
| int | recentre_m = -1 |
| int | nHits_m = 0 |
| int | verbose_m = 0 |
| std::unique_ptr< Stepper< function_t > > | stepper_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 |
Class OutputPlane defines an output plane, which enables output of tracking data at an arbitrary spatial plane. The crossing of the plane in a given time step is detected by (1) checking if the step is within c*dt of the plane and then (2) checking if an RK4 step crosses the plane.
If the track crosses, then we estimate the position of the track either by doing a linear interpolation between the initial position and the position of the test step; OR we do an iterative RK4 step, reducing the RK4 step size each time until we find crossing position to some tolerance or the maximum number of iterations is reached.
Additional features - we can recentre the plane on a particular track (for example, one might seek to make a plane perpendicular to a reference trajectory); we can limit the extent of the plane so only particles crossing within a certain distance are registered.
BUG: if the "Global" Opal tracking is not RK4, then there is a small possibility that the "Global" track and the OutputPlane step will be not perfectly aligned; tracks could register crossing twice or not crossing at all. An improved algorithm would be to use the "global" stepper or make some hack to consider e.g. two steps.
Definition at line 53 of file OutputPlane.h.
|
private |
Definition at line 259 of file OutputPlane.h.
|
strong |
| Enumerator | |
|---|---|
| RK4STEP | |
| INTERPOLATION | |
Definition at line 56 of file OutputPlane.h.
|
explicit |
Constructor with given name.
Definition at line 29 of file OutputPlane.cpp.
References algorithm_m, maxIterations_m, name, PluginElement::PluginElement(), and verbose_m.
Referenced by operator=(), OutputPlane(), and OutputPlane().
| OutputPlane::OutputPlane | ( | ) |
Default constructor (initialise to empty
Definition at line 26 of file OutputPlane.cpp.
References OutputPlane().
Referenced by clone().
| OutputPlane::OutputPlane | ( | const OutputPlane & | right | ) |
Copy constructor
Definition at line 36 of file OutputPlane.cpp.
References algorithm_m, centre_m, field_m, geom_m, horizontalExtent_m, maxIterations_m, normal_m, nullfield_m, OutputPlane(), PluginElement::PluginElement(), radialExtent_m, recentre_m, tolerance_m, verbose_m, and verticalExtent_m.
|
virtual |
Destructor
Definition at line 55 of file OutputPlane.cpp.
|
overridevirtual |
Apply visitor to output plane.
Implements ElementBase.
Definition at line 63 of file OutputPlane.cpp.
References BeamlineVisitor::visitOutputPlane().
|
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().
|
virtualinherited |
Reimplemented in Bend2D, Corrector, Cyclotron, Multipole, MultipoleT, RBend3D, RFCavity, Ring, SBend3D, ScalingFFAMagnet, Solenoid, TravelingWave, Undulator, VariableRFCavity, VariableRFCavityFringeField, and VerticalFFAMagnet.
Definition at line 110 of file Component.cpp.
References ElementBase::getElementLength(), and ElementBase::isInsideTransverse().
|
overridevirtualinherited |
Virtual implementation of Component.
Reimplemented from Component.
Definition at line 78 of file PluginElement.cpp.
Referenced by operator=().
|
overridevirtualinherited |
Reimplemented from Component.
Definition at line 82 of file PluginElement.cpp.
Referenced by operator=().
|
overridevirtualinherited |
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().
|
protectedinherited |
Calculate angle of particle/bunch wrt to element.
Definition at line 151 of file PluginElement.cpp.
Referenced by Probe::doCheck(), Stripper::doCheck(), and operator=().
|
protectedinherited |
Change probe width depending on step size and angle of particle.
Definition at line 145 of file PluginElement.cpp.
References Physics::c, euclidean_norm(), Util::getGamma(), PartBunchBase< T, Dim >::P, and setGeom().
Referenced by Probe::doCheck(), Stripper::doCheck(), and operator=().
|
inherited |
Check if bunch particles are lost
Definition at line 192 of file PluginElement.cpp.
References doCheck(), finaliseCheck(), and preCheck().
Referenced by operator=().
| bool OutputPlane::checkOne | ( | const int | index, |
| const double | tstep, | ||
| double | chargeToMass, | ||
| double & | t, | ||
| Vector_t & | R, | ||
| Vector_t & | P ) |
Check for plane crossing. If crossed fill t, R, P with the intercept.
The routine checks for crossing by performing a full RK4 step using the user-supplied time step. The distance to the plane is calculated. If the distance changes sign, the particle is assumed to cross; if the distance does not change sign, the particle is assumed to stay on the same side. Note that particles that step across the boundary and back again will not be registered as a crossing.
The intercept is found by iteratively doing RK4 steps. Successive step sizes are found by linear interpolation based on the distance from the plane and the time step. I could use the Steppers/RK4.h routines but these automatically update the global particle information and I don't want to do that, I just want a local stepping.
If recentre_m is positive then centre_m is set to the position of the n^th crossing particle and normal_m is set to be parallel to the momentum vector. recentre_m is set to -1. The idea is to generate output planes in the coordinate system of some trajectory (e.g. for studying beam transport/transfer matrix). Normally this will be the reference trajectory but it is possible to make it another trajectory if required.
If radialExtent_m is > 0, crossings more than radialExtent_m from the centre are ignored. If horizontalExtent_m is > 0, crossings more than horizontalExtent_m from the centre, in global x-y plane, are ignored. If verticalExtent_m is > 0, crossings more than verticalExtent_m in direction parallel to global z axis, are ignored.
Definition at line 167 of file OutputPlane.cpp.
References abs(), algorithm_m, Physics::c, centre_m, dot(), endl(), euclidean_norm(), ElementBase::getName(), gmsg, horizontalExtent_m, INTERPOLATION, normal_m, radialExtent_m, recentre(), recentre_m, RK4STEP, RK4Step(), rk4Test(), verbose_m, and verticalExtent_m.
Referenced by doCheck().
|
inherited |
Checks if coordinate is within element.
Definition at line 211 of file PluginElement.cpp.
References geom_m.
Referenced by CCollimator::doCheck(), Probe::doCheck(), Stripper::doCheck(), and operator=().
|
overridevirtual |
Inheritable copy operation
Implements ElementBase.
Definition at line 58 of file OutputPlane.cpp.
References ElementBase::ElementBase(), and OutputPlane().
Referenced by ParallelCyclotronTracker::visitOutputPlane().
|
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().
|
private |
|
overrideprivatevirtual |
Record probe hits when bunch particles pass.
Implements PluginElement.
Definition at line 290 of file OutputPlane.cpp.
References PartBunchBase< T, Dim >::bunchNum, Physics::c, checkOne(), endl(), PartBunchBase< T, Dim >::getLocalNum(), Units::GeV2eV, gmsg, PartBunchBase< T, Dim >::ID, PluginElement::lossDs_m, PartBunchBase< T, Dim >::M, nHits_m, PartBunchBase< T, Dim >::P, PartBunchBase< T, Dim >::Q, Physics::q_e, PartBunchBase< T, Dim >::R, and verbose_m.
|
inlineprivatevirtualinherited |
Virtual hook for finalise.
Reimplemented in CCollimator, and Stripper.
Definition at line 102 of file PluginElement.h.
Referenced by finalise().
|
inlineprivatevirtualinherited |
Virtual hook for finaliseCheck.
Reimplemented in CCollimator, and Stripper.
Definition at line 100 of file PluginElement.h.
Referenced by finaliseCheck().
|
overrideprivatevirtual |
Hook for goOffline.
Reimplemented from PluginElement.
Definition at line 90 of file OutputPlane.cpp.
References endl(), ElementBase::getName(), and gmsg.
|
overrideprivatevirtual |
Initialise peakfinder file.
Reimplemented from PluginElement.
Definition at line 67 of file OutputPlane.cpp.
References centre_m, endl(), field_m, gmsg, horizontalExtent_m, normal_m, radialExtent_m, recentre_m, and verticalExtent_m.
|
inlineoverrideprivatevirtual |
Record probe hits when bunch particles pass.
Reimplemented from PluginElement.
Definition at line 344 of file OutputPlane.h.
|
inlineprivatevirtualinherited |
Virtual hook for setGeom.
Reimplemented in CCollimator.
Definition at line 96 of file PluginElement.h.
Referenced by setGeom().
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().
|
finalvirtualinherited |
Implements Component.
Definition at line 60 of file PluginElement.cpp.
References doFinalise(), and Component::online_m.
|
inlineprivateinherited |
Finalise call after check.
Definition at line 90 of file PluginElement.h.
References doFinaliseCheck().
Referenced by check().
|
inlineinherited |
Definition at line 551 of file ElementBase.h.
References positionIsFixed.
Referenced by OpalElement::update(), OpalRBend3D::update(), OpalRBend::update(), and OpalSBend::update().
|
inline |
Get the algorithm used to interpolate from step to the plane
Definition at line 336 of file OutputPlane.h.
References algorithm_m.
|
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().
|
inline |
Get the centre of the plane
Definition at line 280 of file OutputPlane.h.
References centre_m.
Referenced by ParallelCyclotronTracker::visitOutputPlane().
|
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().
|
private |
Definition at line 135 of file OutputPlane.cpp.
References Physics::c, field_m, Units::kG2T, Units::kV2V, and Units::mm2m.
Referenced by RK4Step().
|
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.
|
overridevirtualinherited |
Implements Component.
Reimplemented in CCollimator.
Definition at line 206 of file PluginElement.cpp.
Referenced by operator=().
|
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 |
Returns empty field
Implements Component.
Definition at line 190 of file OutputPlane.h.
References nullfield_m.
|
inlineoverridevirtual |
Returns empty field
Implements Component.
Definition at line 188 of file OutputPlane.h.
References nullfield_m.
|
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 |
Returns empty geometry
Implements ElementBase.
Definition at line 195 of file OutputPlane.h.
References geom_m.
|
inlineoverridevirtual |
Returns empty geometry
Implements ElementBase.
Definition at line 193 of file OutputPlane.h.
References geom_m.
|
inline |
Get the field map
Definition at line 263 of file OutputPlane.h.
References Component::Component(), and field_m.
|
inline |
Get the horizontal extent from the plane centre
Definition at line 304 of file OutputPlane.h.
References horizontalExtent_m.
Referenced by ParallelCyclotronTracker::visitOutputPlane().
|
inline |
Get the maximum allowed iteratiosn when finding intersection
Definition at line 296 of file OutputPlane.h.
References maxIterations_m.
|
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().
|
inline |
Get the normal to the plane
Definition at line 271 of file OutputPlane.h.
References normal_m.
Referenced by ParallelCyclotronTracker::visitOutputPlane().
|
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.
|
inline |
Get the radial extent from the plane centre
Definition at line 320 of file OutputPlane.h.
References radialExtent_m.
|
inline |
Return the index of the recentring particle
Definition at line 328 of file OutputPlane.h.
References recentre_m.
|
inlinevirtualinherited |
|
inlineinherited |
Definition at line 574 of file ElementBase.h.
References rotationZAxis_m.
Referenced by OpalBeamline::compute3DLattice(), and Bend2D::setFieldCalcParam().
|
inline |
Get the tolerance, used when finding intersection with the plane
Definition at line 288 of file OutputPlane.h.
References tolerance_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().
|
overridevirtual |
Get element type std::string.
Reimplemented from Component.
Definition at line 320 of file OutputPlane.cpp.
References OUTPUTPLANE.
|
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.
|
inline |
Get the horizontal extent from the plane centre
Definition at line 348 of file OutputPlane.h.
References verbose_m.
|
inline |
Get the vertical extent from the plane centre
Definition at line 312 of file OutputPlane.h.
References verticalExtent_m.
|
inlinevirtualinherited |
return the attached wake object if there is any
Definition at line 467 of file ElementBase.h.
References wake_m.
|
inherited |
Definition at line 180 of file PluginElement.cpp.
References xend_m.
Referenced by operator=(), ParallelCyclotronTracker::visitCCollimator(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitSeptum(), and ParallelCyclotronTracker::visitStripper().
|
inherited |
Member variable access.
Definition at line 176 of file PluginElement.cpp.
References xstart_m.
Referenced by operator=(), ParallelCyclotronTracker::visitCCollimator(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitSeptum(), and ParallelCyclotronTracker::visitStripper().
|
inherited |
Definition at line 188 of file PluginElement.cpp.
References yend_m.
Referenced by operator=(), ParallelCyclotronTracker::visitCCollimator(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitSeptum(), and ParallelCyclotronTracker::visitStripper().
|
inherited |
Definition at line 184 of file PluginElement.cpp.
References ystart_m.
Referenced by operator=(), ParallelCyclotronTracker::visitCCollimator(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitSeptum(), and ParallelCyclotronTracker::visitStripper().
|
finalvirtualinherited |
Reimplemented from Component.
Definition at line 66 of file PluginElement.cpp.
References doGoOffline(), lossDs_m, and Component::online_m.
Referenced by Septum::initialise(), and operator=().
|
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.
|
inherited |
Definition at line 52 of file PluginElement.cpp.
References Options::asciidump, doInitialise(), ElementBase::getOutputFN(), Component::goOnline(), lossDs_m, and Component::RefPartBunch_m.
|
overridevirtualinherited |
Pure virtual implementation of Component.
Implements Component.
Reimplemented in Septum.
Definition at line 48 of file PluginElement.cpp.
References initialise().
Referenced by initialise(), Septum::operator=(), ParallelCyclotronTracker::visitCCollimator(), ParallelCyclotronTracker::visitOutputPlane(), ParallelCyclotronTracker::visitProbe(), and ParallelCyclotronTracker::visitStripper().
Definition at line 276 of file OutputPlane.cpp.
References Physics::c, centre_m, dot(), and normal_m.
|
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 |
|
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.
|
delete |
|
inlineprivateinherited |
Check if bunch is close to element.
Definition at line 88 of file PluginElement.h.
References doPreCheck(), and preCheck().
Referenced by check(), and preCheck().
Definition at line 314 of file OutputPlane.cpp.
References recentre_m, setCentre(), and setNormal().
Referenced by checkOne(), and setRecentre().
|
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 |
| void OutputPlane::RK4Step | ( | const double & | tstep, |
| const double & | chargeToMass, | ||
| const double & | t, | ||
| Vector_t & | R, | ||
| Vector_t & | P ) const |
Make an RK4Step
Definition at line 94 of file OutputPlane.cpp.
References getDerivatives().
Referenced by checkOne(), and rk4Test().
|
private |
Definition at line 247 of file OutputPlane.cpp.
References abs(), centre_m, dot(), endl(), field_m, gmsg, maxIterations_m, normal_m, RK4Step(), tolerance_m, and verbose_m.
Referenced by checkOne().
|
inherited |
Save output.
Definition at line 225 of file PluginElement.cpp.
References OpalData::APPEND, OpalData::getInstance(), OpalData::getOpenMode(), lossDs_m, and numPassages_m.
Referenced by operator=().
|
inlineinherited |
Definition at line 561 of file ElementBase.h.
References actionRange_m, and elementEdge_m.
|
inline |
Set the algorithm used to interpolate from step to the plane
Definition at line 340 of file OutputPlane.h.
References algorithm_m.
Referenced by OpalOutputPlane::update().
|
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().
|
inline |
Set the centre of the plane
Definition at line 284 of file OutputPlane.h.
References centre_m.
Referenced by recentre(), and OpalOutputPlane::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.
|
inherited |
Set dimensions and consistency checks.
Definition at line 86 of file PluginElement.cpp.
References A_m, B_m, C_m, R_m, rend_m, rmin_m, rstart_m, xend_m, xstart_m, yend_m, and ystart_m.
Referenced by CCollimator::operator=(), operator=(), PluginElement(), PluginElement(), OpalProbe::update(), OpalSeptum::update(), and OpalStripper::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.
|
inlineinherited |
Definition at line 608 of file ElementBase.h.
References deleteOnTransverseExit_m.
Referenced by OpalElement::update().
|
protectedinherited |
Sets geometry geom_m with element width dist.
Definition at line 116 of file PluginElement.cpp.
References doSetGeom(), geom_m, xend_m, xstart_m, yend_m, and ystart_m.
Referenced by CCollimator::CCollimator(), CCollimator::CCollimator(), changeWidth(), operator=(), Septum::Septum(), CCollimator::setDimensions(), and Septum::setWidth().
|
inline |
Set the field map
Definition at line 267 of file OutputPlane.h.
References Component::Component(), and field_m.
Referenced by ParallelCyclotronTracker::visitOutputPlane().
|
inline |
Set the horizontal extent from the plane centre
Definition at line 308 of file OutputPlane.h.
References horizontalExtent_m.
Referenced by OpalOutputPlane::update().
|
inline |
Set the maximum allowed iteratiosn when finding intersection
Definition at line 300 of file OutputPlane.h.
References max(), and maxIterations_m.
|
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=().
|
inline |
Set the normal to the plane
Definition at line 275 of file OutputPlane.h.
References euclidean_norm(), and normal_m.
Referenced by recentre(), and OpalOutputPlane::update().
|
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().
|
inline |
Set the radial extent from the centre
Definition at line 324 of file OutputPlane.h.
References radialExtent_m.
Referenced by OpalOutputPlane::update().
|
inline |
Set the index of the recentring particle
Definition at line 332 of file OutputPlane.h.
References recentre(), and recentre_m.
Referenced by OpalOutputPlane::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 tolerance, used when finding intersection with the plane
Definition at line 292 of file OutputPlane.h.
References tolerance_m.
Referenced by OpalOutputPlane::update().
|
inline |
Set the verbose level
set to 0 for silent running; 1 when hit detected; 2 when second check passes; 3 when first check passes; 4 to output every step
Definition at line 352 of file OutputPlane.h.
References verbose_m.
Referenced by OpalOutputPlane::update().
|
inline |
Set the vertical extent from the plane centre
Definition at line 316 of file OutputPlane.h.
References verticalExtent_m.
Referenced by OpalOutputPlane::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().
|
protectedinherited |
Definition at line 118 of file PluginElement.h.
Referenced by calculateIncidentAngle(), Probe::doCheck(), Stripper::doCheck(), and setDimensions().
|
privateinherited |
Definition at line 399 of file ElementBase.h.
Referenced by setActionRange().
|
private |
Definition at line 251 of file OutputPlane.h.
Referenced by checkOne(), getAlgorithm(), OutputPlane(), OutputPlane(), and setAlgorithm().
|
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().
|
protectedinherited |
Definition at line 118 of file PluginElement.h.
Referenced by calculateIncidentAngle(), Probe::doCheck(), Stripper::doCheck(), and setDimensions().
|
privateinherited |
Definition at line 390 of file ElementBase.h.
Referenced by ElementBase(), getBoundaryGeometry(), hasBoundaryGeometry(), and setBoundaryGeometry().
|
protectedinherited |
Geometric lengths used in calculations.
Definition at line 118 of file PluginElement.h.
Referenced by Probe::doCheck(), Stripper::doCheck(), and setDimensions().
|
private |
Definition at line 243 of file OutputPlane.h.
Referenced by checkOne(), doInitialise(), getCentre(), interpolation(), OutputPlane(), rk4Test(), and setCentre().
|
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 241 of file OutputPlane.h.
Referenced by doInitialise(), getDerivatives(), getGlobalFieldMap(), OutputPlane(), rk4Test(), and setGlobalFieldMap().
|
private |
Definition at line 250 of file OutputPlane.h.
Referenced by getGeometry(), getGeometry(), and OutputPlane().
|
private |
Definition at line 246 of file OutputPlane.h.
Referenced by checkOne(), doInitialise(), getHorizontalExtent(), OutputPlane(), and setHorizontalExtent().
|
protectedinherited |
Pointer to Loss instance.
Definition at line 120 of file PluginElement.h.
Referenced by CCollimator::doCheck(), OutputPlane::doCheck(), Probe::doCheck(), Septum::doCheck(), Stripper::doCheck(), goOffline(), initialise(), and save().
|
private |
Definition at line 247 of file OutputPlane.h.
Referenced by getMaxIterations(), OutputPlane(), OutputPlane(), rk4Test(), and setMaxIterations().
|
protectedinherited |
Definition at line 367 of file ElementBase.h.
Referenced by ElementBase(), getMisalignment(), and setMisalignment().
|
private |
Definition at line 253 of file OutputPlane.h.
Referenced by doCheck().
|
private |
Definition at line 242 of file OutputPlane.h.
Referenced by checkOne(), doInitialise(), getNormal(), interpolation(), OutputPlane(), rk4Test(), and setNormal().
|
private |
Definition at line 249 of file OutputPlane.h.
Referenced by getField(), getField(), and OutputPlane().
|
protectedinherited |
Number of turns (number of times save() method is called).
Definition at line 121 of file PluginElement.h.
Referenced by save().
|
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().
|
protectedinherited |
Definition at line 118 of file PluginElement.h.
Referenced by Probe::doCheck(), Stripper::doCheck(), and setDimensions().
|
private |
Definition at line 244 of file OutputPlane.h.
Referenced by checkOne(), doInitialise(), getRadialExtent(), OutputPlane(), and setRadialExtent().
|
private |
Definition at line 252 of file OutputPlane.h.
Referenced by checkOne(), doInitialise(), getRecentre(), OutputPlane(), recentre(), and setRecentre().
|
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 114 of file PluginElement.h.
Referenced by Probe::doInitialise(), Probe::doPreCheck(), and setDimensions().
|
protectedinherited |
radius closest to the origin
Definition at line 116 of file PluginElement.h.
Referenced by Probe::doInitialise(), CCollimator::doPreCheck(), Probe::doPreCheck(), Stripper::doPreCheck(), and setDimensions().
|
protectedinherited |
Definition at line 373 of file ElementBase.h.
Referenced by ElementBase(), Bend2D::findIdealBendParameters(), getRotationAboutZ(), RBend3D::initialise(), Bend2D::print(), and setRotationAboutZ().
|
protectedinherited |
Definition at line 113 of file PluginElement.h.
Referenced by Septum::doPreCheck(), and setDimensions().
|
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 260 of file OutputPlane.h.
|
private |
Definition at line 248 of file OutputPlane.h.
Referenced by getTolerance(), OutputPlane(), rk4Test(), and setTolerance().
|
privateinherited |
Definition at line 386 of file ElementBase.h.
Referenced by ElementBase(), getChannel(), and removeAttribute().
|
private |
Definition at line 254 of file OutputPlane.h.
Referenced by checkOne(), doCheck(), getVerboseLevel(), OutputPlane(), OutputPlane(), rk4Test(), and setVerboseLevel().
|
private |
Definition at line 245 of file OutputPlane.h.
Referenced by checkOne(), doInitialise(), getVerticalExtent(), OutputPlane(), and setVerticalExtent().
|
privateinherited |
Definition at line 388 of file ElementBase.h.
Referenced by ElementBase(), getWake(), hasWake(), and setWake().
|
protectedinherited |
Definition at line 110 of file PluginElement.h.
Referenced by CCollimator::CCollimator(), Septum::doCheck(), getXEnd(), PluginElement(), setDimensions(), and setGeom().
|
protectedinherited |
input geometry positions
Definition at line 109 of file PluginElement.h.
Referenced by CCollimator::CCollimator(), Septum::doCheck(), getXStart(), PluginElement(), setDimensions(), and setGeom().
|
protectedinherited |
Definition at line 112 of file PluginElement.h.
Referenced by CCollimator::CCollimator(), Septum::doCheck(), getYEnd(), PluginElement(), setDimensions(), and setGeom().
|
protectedinherited |
Definition at line 111 of file PluginElement.h.
Referenced by CCollimator::CCollimator(), Septum::doCheck(), getYStart(), PluginElement(), setDimensions(), and setGeom().