|
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) | |
| Constructor with given name. More... | |
| OutputPlane () | |
| Default constructor (initialise to empty. More... | |
| OutputPlane (const OutputPlane &) | |
| Copy constructor. More... | |
| virtual | ~OutputPlane () |
| Destructor. More... | |
| ElementBase * | clone () const override |
| Inheritable copy operation. More... | |
| virtual void | accept (BeamlineVisitor &) const override |
| Apply visitor to output plane. More... | |
| Component * | getGlobalFieldMap () const |
| Get the field map. More... | |
| void | setGlobalFieldMap (Component *field) |
| Set the field map. More... | |
| Vector_t | getNormal () const |
| Get the normal to the plane. More... | |
| void | setNormal (Vector_t normal) |
| Set the normal to the plane. More... | |
| Vector_t | getCentre () const |
| Get the centre of the plane. More... | |
| void | setCentre (Vector_t centre) |
| Set the centre of the plane. More... | |
| double | getTolerance () const |
| Get the tolerance, used when finding intersection with the plane. More... | |
| void | setTolerance (double tolerance) |
| Set the tolerance, used when finding intersection with the plane. More... | |
| size_t | getMaxIterations () const |
| Get the maximum allowed iteratiosn when finding intersection. More... | |
| void | setMaxIterations (size_t max) |
| Set the maximum allowed iteratiosn when finding intersection. More... | |
| int | getRecentre () const |
| Return the index of the recentring particle. More... | |
| void | setRecentre (int willRecentre) |
| Set the index of the recentring particle. More... | |
| double | getRadialExtent () const |
| Get the radial extent from the plane centre. More... | |
| void | setRadialExtent (double r) |
| Set the radial extent from the centre. More... | |
| double | getVerticalExtent () const |
| Get the vertical extent from the plane centre. More... | |
| void | setVerticalExtent (double z) |
| Set the vertical extent from the plane centre. More... | |
| double | getHorizontalExtent () const |
| Get the horizontal extent from the plane centre. More... | |
| void | setHorizontalExtent (double width) |
| Set the horizontal extent from the plane centre. More... | |
| algorithm | getAlgorithm () const |
| Get the algorithm used to interpolate from step to the plane. More... | |
| void | setAlgorithm (algorithm alg) |
| Set the algorithm used to interpolate from step to the plane. More... | |
| int | getVerboseLevel () const |
| Get the horizontal extent from the plane centre. More... | |
| void | setVerboseLevel (int verbose) |
| Set the verbose level. More... | |
| bool | checkOne (const int index, const double tstep, double chargeToMass, double &t, Vector_t &R, Vector_t &P) |
| Check for plane crossing. More... | |
| NullField & | getField () override |
| Returns empty field. More... | |
| const NullField & | getField () const override |
| Returns empty field. More... | |
| StraightGeometry & | getGeometry () override |
| Returns empty geometry. More... | |
| const StraightGeometry & | getGeometry () const override |
| Returns empty geometry. More... | |
| void | RK4Step (const double &tstep, const double &chargeToMass, const double &t, Vector_t &R, Vector_t &P) const |
| Make an RK4Step. More... | |
| void | operator= (const OutputPlane &)=delete |
| ElementType | getType () const override |
| Get element type std::string. More... | |
| 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. More... | |
| bool | check (PartBunchBase< double, 3 > *bunch, const int turnnumber, const double t, const double tstep) |
| Check if bunch particles are lost. More... | |
| int | checkPoint (const double &x, const double &y) const |
| Checks if coordinate is within element. More... | |
| void | save () |
| Save output. More... | |
| EVector | Efield (const Point3D &P) const |
| Return the field in a point. More... | |
| EVector | Efield (const Point3D &P, double t) const |
| Return the field in a point. More... | |
| BVector | Bfield (const Point3D &P) const |
| Return the field in a point. More... | |
| BVector | Bfield (const Point3D &P, double t) const |
| Return the field in a point. More... | |
| EBVectors | EBfield (const Point3D &P) const |
| Return the field in a point. More... | |
| EBVectors | EBfield (const Point3D &P, double t) const |
| Return the field in a point. More... | |
| virtual bool | getPotential (const Vector_t &, const double &, Vector_t &, double &) |
| Calculate the four-potential at some position relative to the component. More... | |
| 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. More... | |
| virtual void | trackBunch (PartBunchBase< double, 3 > *bunch, const PartData &, bool revBeam, bool revTrack) const |
| Track particle bunch. More... | |
| virtual void | trackMap (FVps< double, 6 > &map, const PartData &, bool revBeam, bool revTrack) const |
| Track a map. More... | |
| void | setExitFaceSlope (const double &) |
| virtual const std::string & | getName () const |
| Get element name. More... | |
| virtual void | setName (const std::string &name) |
| Set element name. More... | |
| std::string | getTypeString () const |
| virtual double | getArcLength () const |
| Get arc length. More... | |
| virtual double | getElementLength () const |
| Get design length. More... | |
| virtual void | setElementLength (double length) |
| Set design length. More... | |
| virtual void | getElementDimensions (double &begin, double &end) const |
| virtual double | getOrigin () const |
| Get origin position. More... | |
| virtual double | getEntrance () const |
| Get entrance position. More... | |
| virtual double | getExit () const |
| Get exit position. More... | |
| virtual Euclid3D | getTransform (double fromS, double toS) const |
| Get transform. More... | |
| virtual Euclid3D | getTransform (double s) const |
| Get transform. More... | |
| virtual Euclid3D | getTotalTransform () const |
| Get transform. More... | |
| virtual Euclid3D | getEntranceFrame () const |
| Get transform. More... | |
| virtual Euclid3D | getExitFrame () const |
| Get transform. More... | |
| virtual Euclid3D | getEntrancePatch () const |
| Get patch. More... | |
| virtual Euclid3D | getExitPatch () const |
| Get patch. More... | |
| virtual double | getAttribute (const std::string &aKey) const |
| Get attribute value. More... | |
| virtual bool | hasAttribute (const std::string &aKey) const |
| Test for existence of an attribute. More... | |
| virtual void | removeAttribute (const std::string &aKey) |
| Remove an existing attribute. More... | |
| virtual void | setAttribute (const std::string &aKey, double val) |
| Set value of an attribute. More... | |
| virtual Channel * | getChannel (const std::string &aKey, bool create=false) |
| Construct a read/write channel. More... | |
| virtual const ConstChannel * | getConstChannel (const std::string &aKey) const |
| Construct a read-only channel. More... | |
| virtual ElementBase * | copyStructure () |
| Make a structural copy. More... | |
| bool | isSharable () const |
| Test if the element can be shared. More... | |
| virtual void | makeSharable () |
| Set sharable flag. More... | |
| bool | update (const AttributeSet &) |
| Update element. More... | |
| virtual void | setBoundaryGeometry (BoundaryGeometry *geo) |
| attach a boundary geometry field to the element More... | |
| virtual BoundaryGeometry * | getBoundaryGeometry () const |
| return the attached boundary geometrt object if there is any More... | |
| virtual bool | hasBoundaryGeometry () const |
| virtual void | setWake (WakeFunction *wf) |
| attach a wake field to the element More... | |
| virtual WakeFunction * | getWake () const |
| return the attached wake object if there is any More... | |
| virtual bool | hasWake () const |
| virtual void | setParticleMatterInteraction (ParticleMatterInteractionHandler *spys) |
| virtual ParticleMatterInteractionHandler * | getParticleMatterInteraction () const |
| virtual bool | hasParticleMatterInteraction () const |
| 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. More... | |
| double | getRotationAboutZ () const |
| virtual BoundingBox | getBoundingBoxInLabCoords () const |
| virtual int | getRequiredNumberOfTimeSteps () const |
| void | setOutputFN (std::string fn) |
| Set output filename. More... | |
| std::string | getOutputFN () const |
| Get output filename. More... | |
| void | setFlagDeleteOnTransverseExit (bool=true) |
| bool | getFlagDeleteOnTransverseExit () const |
| int | addReference () const |
| Increment reference count. More... | |
| int | removeReference () const |
| Decrement the reference count. More... | |
| bool | isShared () const |
| Test for sharing. More... | |
| virtual void | initialise (PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override |
| Pure virtual implementation of Component. More... | |
| 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. More... | |
| 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. More... | |
| double | getXEnd () const |
| double | getYStart () const |
| double | getYEnd () const |
| void | setElementPosition (double elemedge) |
| Access to ELEMEDGE attribute. More... | |
| 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. More... | |
| 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. More... | |
| double | calculateIncidentAngle (double xp, double yp) const |
| Calculate angle of particle/bunch wrt to element. More... | |
| bool | isInsideTransverse (const Vector_t &r) const |
Protected Attributes | |
| double | rmin_m |
| radius closest to the origin More... | |
| double | A_m |
| double | B_m |
| double | R_m |
| double | C_m |
| Geometric lengths used in calculations. More... | |
| std::unique_ptr< LossDataSink > | lossDs_m |
| Pointer to Loss instance. More... | |
| int | numPassages_m = 0 |
| Number of turns (number of times save() method is called) More... | |
| 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 More... | |
| 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. More... | |
| bool | doPreCheck (PartBunchBase< double, 3 > *bunch) override |
| Record probe hits when bunch particles pass. More... | |
| virtual bool | doCheck (PartBunchBase< double, 3 > *bunch, const int turnnumber, const double t, const double tstep) override |
| Record probe hits when bunch particles pass. More... | |
| virtual void | doGoOffline () override |
| Hook for goOffline. More... | |
| 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. More... | |
| bool | finaliseCheck (PartBunchBase< double, 3 > *bunch, bool flagNeedUpdate) |
| Finalise call after check. More... | |
| virtual void | doSetGeom () |
| Virtual hook for setGeom. More... | |
| virtual bool | doFinaliseCheck (PartBunchBase< double, 3 > *, bool flagNeedUpdate) |
| Virtual hook for finaliseCheck. More... | |
| virtual void | doFinalise () |
| Virtual hook for finalise. More... | |
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 |
| The name of the outputfile. More... | |
| bool | deleteOnTransverseExit_m = true |
| int | refCount |
| double | elementPosition_m |
| ELEMEDGE attribute. More... | |
| 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.
| OutputPlane::OutputPlane | ( | ) |
Default constructor (initialise to empty.
Definition at line 26 of file OutputPlane.cpp.
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, 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 RCObject::refCount.
Referenced by Pointer< Object >::operator=(), and Pointer< Object >::unique().
|
overridevirtualinherited |
Virtual implementation of Component.
Reimplemented from Component.
Definition at line 78 of file PluginElement.cpp.
|
virtualinherited |
Reimplemented in Corrector, Cyclotron, Undulator, VerticalFFAMagnet, Bend2D, Multipole, MultipoleT, RBend3D, RFCavity, Ring, SBend3D, ScalingFFAMagnet, Solenoid, TravelingWave, VariableRFCavity, and VariableRFCavityFringeField.
Definition at line 110 of file Component.cpp.
References ElementBase::getElementLength(), ElementBase::isInsideTransverse(), and Attrib::Distribution::R.

|
overridevirtualinherited |
Reimplemented from Component.
Definition at line 82 of file PluginElement.cpp.
|
overridevirtualinherited |
Implements Component.
Definition at line 74 of file PluginElement.cpp.
Return the field in a point.
Definition at line 202 of file Component.h.
References EMField::Bfield(), and Component::getField().

Return the field in a point.
Definition at line 208 of file Component.h.
References EMField::Bfield(), and Component::getField().

|
protectedinherited |
Calculate angle of particle/bunch wrt to element.
Definition at line 151 of file PluginElement.cpp.
References PluginElement::A_m, abs(), and PluginElement::B_m.
Referenced by Probe::doCheck(), and Stripper::doCheck().

|
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, PluginElement::setGeom(), and sqrt().
Referenced by Probe::doCheck(), and Stripper::doCheck().

|
inherited |
Check if bunch particles are lost.
Definition at line 192 of file PluginElement.cpp.
References PluginElement::doCheck(), PluginElement::finaliseCheck(), and PluginElement::preCheck().

| 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, interpolation(), normal_m, Attrib::Distribution::R, 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 PluginElement::geom_m, and Point::y.
Referenced by CCollimator::doCheck(), Probe::doCheck(), and Stripper::doCheck().
|
overridevirtual |
Inheritable copy operation.
Implements ElementBase.
Definition at line 58 of file OutputPlane.cpp.
References OutputPlane().
Referenced by ParallelCyclotronTracker::visitOutputPlane().

|
virtualinherited |
Make a structural copy.
Reimplemented in TBeamline< T >.
Definition at line 244 of file ElementBase.cpp.
References ElementBase::clone(), and ElementBase::isSharable().
Referenced by Sequence::copy(), Line::parse(), SequenceParser::parseMember(), and Replacer::visitFlaggedElmPtr().

|
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, Attrib::Distribution::R, and verbose_m.

|
inlineprivatevirtualinherited |
Virtual hook for finalise.
Reimplemented in CCollimator, and Stripper.
Definition at line 102 of file PluginElement.h.
Referenced by PluginElement::finalise().
|
inlineprivatevirtualinherited |
Virtual hook for finaliseCheck.
Reimplemented in CCollimator, and Stripper.
Definition at line 100 of file PluginElement.h.
Referenced by PluginElement::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, ElementBase::getName(), 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 PluginElement::setGeom().
Return the field in a point.
Definition at line 211 of file Component.h.
References EMField::EBfield(), and Component::getField().

Return the field in a point.
Definition at line 214 of file Component.h.
References EMField::EBfield(), and Component::getField().

Return the field in a point.
Definition at line 199 of file Component.h.
References EMField::Efield(), and Component::getField().

Return the field in a point.
Definition at line 205 of file Component.h.
References EMField::Efield(), and Component::getField().

|
finalvirtualinherited |
Implements Component.
Definition at line 60 of file PluginElement.cpp.
References PluginElement::doFinalise(), and Component::online_m.

|
inlineprivateinherited |
Finalise call after check.
Definition at line 90 of file PluginElement.h.
References PluginElement::doFinaliseCheck().
Referenced by PluginElement::check().

|
inlineinherited |
Definition at line 551 of file ElementBase.h.
References ElementBase::positionIsFixed.
Referenced by OpalElement::update(), OpalRBend::update(), OpalRBend3D::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 ElementBase::aperture_m.
Referenced by MeshGenerator::add(), and Offset::operator=().
|
inlinevirtualinherited |
Get arc length.
Reimplemented in MarkerRep, and TBeamline< T >.
Definition at line 411 of file ElementBase.h.
References BGeometryBase::getArcLength(), and ElementBase::getGeometry().
Referenced by BeamlineGeometry::getArcLength(), and TBeamline< T >::getTransform().

|
virtualinherited |
Get attribute value.
Definition at line 187 of file ElementBase.cpp.
References ElementBase::getConstChannel().

|
inlinevirtualinherited |
return the attached boundary geometrt object if there is any
Definition at line 475 of file ElementBase.h.
References ElementBase::bgeometry_m.
|
virtualinherited |
Reimplemented in Bend2D.
Definition at line 313 of file ElementBase.cpp.
References ElementBase::aperture_m, ElementBase::csTrafoGlobal2Local_m, BoundingBox::getBoundingBox(), ElementBase::getEdgeToBegin(), ElementBase::getEdgeToEnd(), and CoordinateSystemTrafo::transformFrom().

|
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 >, SolenoidRep, SourceRep, StripperRep, TravelingWaveRep, UndulatorRep, VacuumRep, XCorrectorRep, and YCorrectorRep.
Definition at line 228 of file ElementBase.cpp.
References AttributeSet::getChannel(), and ElementBase::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(), ElementBase::getConstChannel(), and ElementBase::setAttribute().

|
virtualinherited |
Construct a read-only channel.
Definition at line 233 of file ElementBase.cpp.
References ElementBase::getChannel().
Referenced by ElementBase::getAttribute(), and ElementBase::hasAttribute().

|
inlineinherited |
Definition at line 498 of file ElementBase.h.
References ElementBase::csTrafoGlobal2Local_m.
Referenced by MeshGenerator::add(), ParallelTTracker::computeParticleMatterInteraction(), Monitor::driftToCorrectPositionAndSave(), OpalRBend::update(), OpalRBend3D::update(), and OpalSBend::update().
|
private |
Definition at line 135 of file OutputPlane.cpp.
References Component::apply(), Physics::c, field_m, Units::kG2T, Units::kV2V, Units::mm2m, Attrib::Distribution::R, and sqrt().
Referenced by RK4Step().

|
virtualinherited |
Return design element.
Definition at line 67 of file Component.cpp.
|
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.
|
inlinevirtualinherited |
Reimplemented in RFCavity, Solenoid, and TravelingWave.
Definition at line 503 of file ElementBase.h.
Referenced by ElementBase::getBoundingBoxInLabCoords(), Bend2D::getBoundingBoxInLabCoords(), and ElementBase::isInsideTransverse().
|
inlinevirtualinherited |
Reimplemented in Bend2D, RFCavity, Solenoid, and TravelingWave.
Definition at line 511 of file ElementBase.h.
References ElementBase::getElementLength().
Referenced by ElementBase::getBoundingBoxInLabCoords().

|
inlinevirtualinherited |
Reimplemented in RFCavity, TravelingWave, and Solenoid.
Definition at line 174 of file ElementBase.h.
References begin(), end(), and ElementBase::getElementLength().
Referenced by MeshGenerator::add().

|
inlinevirtualinherited |
Get design length.
Reimplemented in MarkerRep, TBeamline< T >, and RFCavity.
Definition at line 415 of file ElementBase.h.
References BGeometryBase::getElementLength(), and ElementBase::getGeometry().
Referenced by ScatteringPhysics::addBackToBunch(), Undulator::apply(), Multipole::apply(), Component::apply(), Corrector::apply(), Solenoid::apply(), Component::applyToReferenceParticle(), Multipole::applyToReferenceParticle(), Solenoid::applyToReferenceParticle(), Vacuum::checkPoint(), ScatteringPhysics::copyFromBunch(), RBend::findChordLength(), SBend::findChordLength(), Corrector::getDimensions(), CCollimator::getDimensions(), Degrader::getDimensions(), Drift::getDimensions(), FlexibleCollimator::getDimensions(), Multipole::getDimensions(), RBend3D::getDimensions(), Solenoid::getDimensions(), Vacuum::getDimensions(), ElementBase::getEdgeToEnd(), Solenoid::getEdgeToEnd(), ElementBase::getElementDimensions(), Solenoid::getElementDimensions(), BeamlineGeometry::getElementLength(), RFCavity::getElementLength(), Corrector::initialise(), Degrader::initialise(), Drift::initialise(), FlexibleCollimator::initialise(), Multipole::initialise(), RBend3D::initialise(), Solenoid::initialise(), Source::initialise(), Vacuum::initialise(), ElementBase::isInside(), Degrader::isInside(), Monitor::isInside(), Multipole::isInside(), ElementBase::isInsideTransverse(), FlexibleCollimator::isStopped(), ScatteringPhysics::setTimeStepForLeavingParticles(), Bend2D::setupDefaultFieldMap(), 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 ElementBase::elemedgeSet_m, ElementBase::elementPosition_m, and ElementBase::getName().

|
inlinevirtualinherited |
Get entrance position.
Reimplemented in TBeamline< T >.
Definition at line 427 of file ElementBase.h.
References BGeometryBase::getEntrance(), and ElementBase::getGeometry().
Referenced by BeamlineGeometry::getEntrance().

|
inlinevirtualinherited |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 447 of file ElementBase.h.
References BGeometryBase::getEntranceFrame(), and ElementBase::getGeometry().
Referenced by BeamlineGeometry::getEntranceFrame().

|
inlinevirtualinherited |
Get patch.
Definition at line 455 of file ElementBase.h.
References BGeometryBase::getEntrancePatch(), and ElementBase::getGeometry().

|
inlinevirtualinherited |
Get exit position.
Reimplemented in TBeamline< T >.
Definition at line 431 of file ElementBase.h.
References BGeometryBase::getExit(), and ElementBase::getGeometry().
Referenced by BeamlineGeometry::getExit().

|
inlinevirtualinherited |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 451 of file ElementBase.h.
References BGeometryBase::getExitFrame(), and ElementBase::getGeometry().
Referenced by BeamlineGeometry::getExitFrame().

|
inlinevirtualinherited |
Get patch.
Definition at line 459 of file ElementBase.h.
References BGeometryBase::getExitPatch(), and ElementBase::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.
|
private |
|
inlineinherited |
Definition at line 614 of file ElementBase.h.
References ElementBase::deleteOnTransverseExit_m.
Referenced by Multipole::apply(), Corrector::apply(), Bend2D::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 |
|
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 ElementBase::misalignment_m.
|
inherited |
Referenced by ParallelTTracker::computeParticleMatterInteraction().
|
virtualinherited |
Get element name.
Definition at line 162 of file ElementBase.cpp.
References ElementBase::elementID.
Referenced by Ring::appendElement(), Cyclotron::apply(), Ring::apply(), Bend2D::calculateRefTrajectory(), checkOne(), Vacuum::checkPressure(), Stripper::doCheck(), CCollimator::doFinalise(), Stripper::doFinalise(), doGoOffline(), Probe::doGoOffline(), doInitialise(), PlaceRep::enter(), Cyclotron::finalise(), Degrader::finalise(), FlexibleCollimator::finalise(), Vacuum::finalise(), PyOpal::Field::getElementName(), ElementBase::getElementPosition(), RFCavity::getMomentaKick(), BeamStrippingPhysics::getName(), ScatteringPhysics::getName(), Bend2D::getOutline(), ElementBase::getOutputFN(), CavityAutophaser::getPhaseAtMaxEnergy(), Selector::handleElement(), Ring::initialise(), Bend2D::initialise(), RBend3D::initialise(), RFCavity::initialise(), Solenoid::initialise(), CSRIGFWakeFunction::initialize(), CSRWakeFunction::initialize(), OpalWake::initWakefunction(), PlaceRep::leave(), operator<<(), Offset::operator=(), VariableRFCavity::operator=(), operator==(), Line::parse(), Vacuum::print(), BeamStrippingPhysics::print(), ScatteringPhysics::print(), Sequence::print(), ParticleMatterInteraction::print(), Bend2D::readFieldMap(), PyOpal::PyLine_< C >::registerObject(), Component::trackBunch(), Component::trackMap(), RBend3D::trackRefParticleThrough(), OpalRBend::update(), OpalRBend3D::update(), OpalSBend::update(), Sequence::updateList(), ParallelTTracker::updateRFElement(), ParallelCyclotronTracker::visitCCollimator(), Replacer::visitFlaggedElmPtr(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitRFCavity(), ParallelCyclotronTracker::visitSeptum(), ParallelCyclotronTracker::visitStripper(), and ParallelTTracker::writePhaseSpace().
|
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 >.
Definition at line 423 of file ElementBase.h.
References ElementBase::getGeometry(), and BGeometryBase::getOrigin().
Referenced by BeamlineGeometry::getOrigin().

|
inherited |
Get output filename.
Definition at line 177 of file ElementBase.cpp.
References ElementBase::getName(), and ElementBase::outputfn_m.
Referenced by Probe::doInitialise(), PluginElement::initialise(), Cyclotron::initialise(), FlexibleCollimator::initialise(), Monitor::initialise(), and Source::initialise().

|
inlinevirtualinherited |
Definition at line 483 of file ElementBase.h.
References ElementBase::parmatint_m.
Referenced by Degrader::applyToReferenceParticle(), CCollimator::doInitialise(), Vacuum::initialise(), and FlexibleCollimator::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 ElementBase::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 >.
Definition at line 439 of file ElementBase.h.
References ElementBase::getGeometry(), and BGeometryBase::getTotalTransform().
Referenced by BeamlineGeometry::getTotalTransform().

|
inlinevirtualinherited |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 435 of file ElementBase.h.
References ElementBase::getGeometry(), and BGeometryBase::getTransform().
Referenced by BeamlineGeometry::getTransform(), and TBeamline< T >::getTransform().

|
inlinevirtualinherited |
Get transform.
Reimplemented in TBeamline< T >.
Definition at line 443 of file ElementBase.h.
References ElementBase::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 ElementBase::getType(), and ElementBase::getTypeString().
Referenced by ParallelCyclotronTracker::execute(), ElementBase::getTypeString(), Vacuum::print(), and OpalBeamline::visit().

|
staticinherited |
Definition at line 240 of file ElementBase.cpp.
References ElementBase::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 ElementBase::wake_m.
|
inherited |
Definition at line 180 of file PluginElement.cpp.
References PluginElement::xend_m.
Referenced by ParallelCyclotronTracker::visitCCollimator(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitSeptum(), and ParallelCyclotronTracker::visitStripper().
|
inherited |
Member variable access.
Definition at line 176 of file PluginElement.cpp.
References PluginElement::xstart_m.
Referenced by ParallelCyclotronTracker::visitCCollimator(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitSeptum(), and ParallelCyclotronTracker::visitStripper().
|
inherited |
Definition at line 188 of file PluginElement.cpp.
References PluginElement::yend_m.
Referenced by ParallelCyclotronTracker::visitCCollimator(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitSeptum(), and ParallelCyclotronTracker::visitStripper().
|
inherited |
Definition at line 184 of file PluginElement.cpp.
References PluginElement::ystart_m.
Referenced by ParallelCyclotronTracker::visitCCollimator(), ParallelCyclotronTracker::visitProbe(), ParallelCyclotronTracker::visitSeptum(), and ParallelCyclotronTracker::visitStripper().
|
finalvirtualinherited |
Reimplemented from Component.
Definition at line 66 of file PluginElement.cpp.
References PluginElement::doGoOffline(), PluginElement::lossDs_m, and Component::online_m.
Referenced by Septum::initialise().

|
virtualinherited |
Reimplemented in Corrector, Bend2D, CCollimator, Degrader, FlexibleCollimator, Monitor, RBend3D, RFCavity, Solenoid, Source, TravelingWave, and Vacuum.
Definition at line 83 of file Component.cpp.
References Component::online_m.
Referenced by PluginElement::initialise().
|
virtualinherited |
Test for existence of an attribute.
Definition at line 200 of file ElementBase.cpp.
References ElementBase::getConstChannel().
Referenced by ParallelCyclotronTracker::visitSolenoid().

|
inlinevirtualinherited |
Definition at line 479 of file ElementBase.h.
References ElementBase::bgeometry_m.
|
inlinevirtualinherited |
Definition at line 487 of file ElementBase.h.
References ElementBase::parmatint_m.
|
inlinevirtualinherited |
Definition at line 471 of file ElementBase.h.
References ElementBase::wake_m.
|
inherited |
Definition at line 52 of file PluginElement.cpp.
References Options::asciidump, PluginElement::doInitialise(), ElementBase::getOutputFN(), Component::goOnline(), PluginElement::lossDs_m, and Component::RefPartBunch_m.

|
overridevirtualinherited |
Pure virtual implementation of Component.
Implements Component.
Reimplemented in Septum, and Septum.
Definition at line 48 of file PluginElement.cpp.
References PluginElement::initialise().
Referenced by PluginElement::initialise(), ParallelCyclotronTracker::visitCCollimator(), ParallelCyclotronTracker::visitOutputPlane(), ParallelCyclotronTracker::visitProbe(), and ParallelCyclotronTracker::visitStripper().

Definition at line 276 of file OutputPlane.cpp.
References Physics::c, centre_m, dot(), normal_m, Attrib::Distribution::R, and sqrt().
Referenced by checkOne().

|
inlineinherited |
Definition at line 598 of file ElementBase.h.
References ElementBase::elemedgeSet_m.
|
inlinevirtualinherited |
Reimplemented in Bend2D, Degrader, Monitor, Multipole, RBend3D, RFCavity, Solenoid, and TravelingWave.
Definition at line 530 of file ElementBase.h.
References ElementBase::getElementLength(), and ElementBase::isInsideTransverse().

|
protectedinherited |
Definition at line 287 of file ElementBase.cpp.
References abs(), ElementBase::aperture_m, CONIC_ELLIPTICAL, CONIC_RECTANGULAR, ELLIPTICAL, ElementBase::getEdgeToBegin(), ElementBase::getElementLength(), pow(), RECTANGULAR, and CoordinateSystemTrafo::transformTo().
Referenced by Undulator::apply(), Multipole::apply(), Component::apply(), Corrector::apply(), Component::applyToReferenceParticle(), Multipole::applyToReferenceParticle(), ElementBase::isInside(), Monitor::isInside(), Multipole::isInside(), RFCavity::isInside(), Solenoid::isInside(), TravelingWave::isInside(), and FlexibleCollimator::isStopped().

|
inlineinherited |
Definition at line 556 of file ElementBase.h.
References ElementBase::positionIsFixed.
Referenced by OpalRBend::update(), OpalRBend3D::update(), and OpalSBend::update().
|
inlineinherited |
Test if the element can be shared.
Definition at line 463 of file ElementBase.h.
References ElementBase::shareFlag.
Referenced by ElementBase::copyStructure(), and Sequence::updateList().
|
inlineinherited |
|
virtualinherited |
Set sharable flag.
Reimplemented in TBeamline< T >.
Definition at line 253 of file ElementBase.cpp.
References ElementBase::shareFlag.
Referenced by OpalMarker::OpalMarker(), and Element::setShared().
|
virtualinherited |
Definition at line 91 of file Component.cpp.
References Component::online_m.
|
delete |
|
inlineprivateinherited |
Check if bunch is close to element.
Definition at line 88 of file PluginElement.h.
References PluginElement::doPreCheck().
Referenced by PluginElement::check().

Definition at line 314 of file OutputPlane.cpp.
References Attrib::Distribution::R, recentre_m, setCentre(), and setNormal().
Referenced by checkOne(), and setRecentre().

|
inlineinherited |
Definition at line 546 of file ElementBase.h.
References ElementBase::positionIsFixed.
Referenced by OpalRBend::update(), OpalRBend3D::update(), and OpalSBend::update().
|
virtualinherited |
Remove an existing attribute.
Definition at line 212 of file ElementBase.cpp.
References AttributeSet::removeAttribute(), and ElementBase::userAttribs.

|
inlineinherited |
Decrement the reference count.
Definition at line 88 of file RCObject.h.
References RCObject::refCount.
| 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(), Component::apply(), centre_m, dot(), endl(), field_m, gmsg, maxIterations_m, normal_m, Attrib::Distribution::R, 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(), PluginElement::lossDs_m, and PluginElement::numPassages_m.

|
inlineinherited |
Definition at line 561 of file ElementBase.h.
References ElementBase::actionRange_m, and ElementBase::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 ElementBase::aperture_m.
Referenced by Component::Component(), Offset::operator=(), OpalElement::update(), OpalRBend::update(), OpalRBend3D::update(), OpalSBend::update(), and OpalSlit::update().
|
virtualinherited |
Set value of an attribute.
Definition at line 217 of file ElementBase.cpp.
References endl(), ElementBase::getChannel(), and Channel::isSettable().
Referenced by ElementBase::update(), and OpalElement::updateUnknown().

|
virtualinherited |
attach a boundary geometry field to the element
Definition at line 270 of file ElementBase.cpp.
References ElementBase::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 ElementBase::csTrafoGlobal2Local_m, and ElementBase::positionIsFixed.
Referenced by OpalElement::update(), OpalRBend::update(), OpalRBend3D::update(), and OpalSBend::update().
|
inherited |
Definition at line 278 of file ElementBase.cpp.
References ElementBase::actionRange_m, and ElementBase::elementEdge_m.
|
inlinevirtualinherited |
Reimplemented in Corrector, RFCavity, and BendBase.
Definition at line 228 of file Component.h.
|
inherited |
Set dimensions and consistency checks.
Definition at line 86 of file PluginElement.cpp.
References PluginElement::A_m, abs(), PluginElement::B_m, PluginElement::C_m, max(), min(), PluginElement::R_m, PluginElement::rend_m, PluginElement::rmin_m, PluginElement::rstart_m, sqrt(), PluginElement::xend_m, PluginElement::xstart_m, PluginElement::yend_m, and PluginElement::ystart_m.
Referenced by 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 ElementBase::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 ElementBase::elemedgeSet_m, and ElementBase::elementPosition_m.
Referenced by OpalElement::update().
|
inlineinherited |
Definition at line 225 of file Component.h.
References Component::exit_face_slope_m.
|
inlineinherited |
Definition at line 608 of file ElementBase.h.
References ElementBase::deleteOnTransverseExit_m.
Referenced by OpalElement::update().
|
protectedinherited |
Sets geometry geom_m with element width dist.
Definition at line 116 of file PluginElement.cpp.
References PluginElement::doSetGeom(), PluginElement::geom_m, sqrt(), Point::x, PluginElement::xend_m, PluginElement::xstart_m, Point::y, PluginElement::yend_m, and PluginElement::ystart_m.
Referenced by CCollimator::CCollimator(), PluginElement::changeWidth(), Septum::Septum(), CCollimator::setDimensions(), and Septum::setWidth().

|
inline |
Set the field map.
Definition at line 267 of file OutputPlane.h.
References 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 ElementBase::misalignment_m.
Referenced by OpalElement::update().
|
virtualinherited |
Set element name.
Definition at line 167 of file ElementBase.cpp.
References ElementBase::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 ElementBase::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 ElementBase::parmatint_m.
Referenced by OpalCCollimator::update(), OpalDrift::update(), OpalECollimator::update(), OpalFlexibleCollimator::update(), OpalPepperPot::update(), OpalQuadrupole::update(), OpalRBend::update(), OpalRBend3D::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 ElementBase::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 ElementBase::wake_m.
Referenced by OpalCavity::update(), OpalDrift::update(), OpalProbe::update(), OpalRBend::update(), OpalRBend3D::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.
References AttributeSet::begin(), AttributeSet::end(), and ElementBase::setAttribute().
Referenced by Monitor::driftToCorrectPositionAndSave().

|
protectedinherited |
Definition at line 118 of file PluginElement.h.
Referenced by PluginElement::calculateIncidentAngle(), Probe::doCheck(), Stripper::doCheck(), and PluginElement::setDimensions().
|
privateinherited |
Definition at line 399 of file ElementBase.h.
Referenced by ElementBase::setActionRange(), and ElementBase::setCurrentSCoordinate().
|
private |
Definition at line 251 of file OutputPlane.h.
Referenced by checkOne(), getAlgorithm(), OutputPlane(), and setAlgorithm().
|
protectedinherited |
Definition at line 369 of file ElementBase.h.
Referenced by ElementBase::getAperture(), ElementBase::getBoundingBoxInLabCoords(), Bend2D::getOutline(), Bend2D::getSurfaceMesh(), Bend2D::inMagnetCentralRegion(), Bend2D::inMagnetEntranceRegion(), Bend2D::inMagnetExitRegion(), ElementBase::isInsideTransverse(), ElementBase::setAperture(), Bend2D::setFieldCalcParam(), Bend2D::setupBendGeometry(), and Bend2D::setupFringeWidths().
|
protectedinherited |
Definition at line 118 of file PluginElement.h.
Referenced by PluginElement::calculateIncidentAngle(), Probe::doCheck(), Stripper::doCheck(), and PluginElement::setDimensions().
|
privateinherited |
Definition at line 390 of file ElementBase.h.
Referenced by ElementBase::ElementBase(), ElementBase::getBoundaryGeometry(), ElementBase::hasBoundaryGeometry(), and ElementBase::setBoundaryGeometry().
|
protectedinherited |
Geometric lengths used in calculations.
Definition at line 118 of file PluginElement.h.
Referenced by Probe::doCheck(), Stripper::doCheck(), and PluginElement::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::getBoundingBoxInLabCoords(), Bend2D::getBoundingBoxInLabCoords(), ElementBase::getCSTrafoGlobal2Local(), and ElementBase::setCSTrafoGlobal2Local().
|
staticprotectedinherited |
Definition at line 187 of file Component.h.
Referenced by Component::Component().
|
privateinherited |
Definition at line 403 of file ElementBase.h.
Referenced by ElementBase::getFlagDeleteOnTransverseExit(), and ElementBase::setFlagDeleteOnTransverseExit().
|
privateinherited |
Definition at line 397 of file ElementBase.h.
Referenced by ElementBase::getElementPosition(), ElementBase::isElementPositionSet(), and ElementBase::setElementPosition().
|
protectedinherited |
Definition at line 371 of file ElementBase.h.
Referenced by Bend2D::getEffectiveCenter(), Bend2D::initialise(), Bend2D::print(), ElementBase::setActionRange(), ElementBase::setCurrentSCoordinate(), and Bend2D::setupBendGeometry().
|
privateinherited |
Definition at line 381 of file ElementBase.h.
Referenced by ElementBase::getName(), and ElementBase::setName().
|
privateinherited |
ELEMEDGE attribute.
Definition at line 396 of file ElementBase.h.
Referenced by ElementBase::getElementPosition(), and ElementBase::setElementPosition().
|
staticprivateinherited |
Definition at line 383 of file ElementBase.h.
Referenced by ElementBase::getTypeString().
|
protectedinherited |
Definition at line 189 of file Component.h.
Referenced by Component::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(), 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(), doCheck(), Probe::doCheck(), Septum::doCheck(), Stripper::doCheck(), PluginElement::goOffline(), PluginElement::initialise(), and PluginElement::save().
|
private |
Definition at line 247 of file OutputPlane.h.
Referenced by getMaxIterations(), OutputPlane(), rk4Test(), and setMaxIterations().
|
protectedinherited |
Definition at line 367 of file ElementBase.h.
Referenced by ElementBase::getMisalignment(), and ElementBase::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(), and OutputPlane().
|
protectedinherited |
Number of turns (number of times save() method is called)
Definition at line 121 of file PluginElement.h.
Referenced by PluginElement::save().
|
protectedinherited |
Definition at line 192 of file Component.h.
Referenced by Monitor::apply(), Source::apply(), Probe::doGoOffline(), Cyclotron::finalise(), PluginElement::finalise(), Bend2D::finalise(), FlexibleCollimator::finalise(), Multipole::finalise(), Ring::finalise(), Vacuum::finalise(), Component::goOffline(), PluginElement::goOffline(), Degrader::goOffline(), FlexibleCollimator::goOffline(), RBend3D::goOffline(), RFCavity::goOffline(), Solenoid::goOffline(), Source::goOffline(), Vacuum::goOffline(), Component::goOnline(), Corrector::goOnline(), Bend2D::goOnline(), CCollimator::goOnline(), Degrader::goOnline(), FlexibleCollimator::goOnline(), Monitor::goOnline(), RBend3D::goOnline(), RFCavity::goOnline(), Solenoid::goOnline(), Source::goOnline(), TravelingWave::goOnline(), Vacuum::goOnline(), Ring::initialise(), Septum::initialise(), Cyclotron::initialise(), Multipole::initialise(), Component::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 ElementBase::setOutputFN().
|
privateinherited |
Definition at line 392 of file ElementBase.h.
Referenced by ElementBase::ElementBase(), ElementBase::getParticleMatterInteraction(), ElementBase::hasParticleMatterInteraction(), and ElementBase::setParticleMatterInteraction().
|
privateinherited |
Definition at line 394 of file ElementBase.h.
Referenced by ElementBase::fixPosition(), ElementBase::isPositioned(), ElementBase::releasePosition(), and ElementBase::setCSTrafoGlobal2Local().
|
protectedinherited |
Definition at line 118 of file PluginElement.h.
Referenced by Probe::doCheck(), Stripper::doCheck(), and PluginElement::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 RCObject::addReference(), RCObject::isShared(), and RCObject::removeReference().
|
protectedinherited |
Definition at line 191 of file Component.h.
Referenced by Corrector::apply(), Undulator::apply(), VerticalFFAMagnet::apply(), Bend2D::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(), VariableRFCavity::apply(), VariableRFCavityFringeField::apply(), Cyclotron::apply(), Degrader::applyToReferenceParticle(), Monitor::applyToReferenceParticle(), BendBase::calcDesignRadius(), BendBase::calcFieldAmplitude(), BendBase::calcGamma(), Bend2D::calculateBendAngle(), Bend2D::calculateRefTrajectory(), Monitor::driftToCorrectPositionAndSave(), VerticalFFAMagnet::finalise(), MultipoleT::finalise(), Offset::finalise(), SBend3D::finalise(), ScalingFFAMagnet::finalise(), VariableRFCavity::finalise(), RBend::findChordLength(), Bend2D::findIdealBendParameters(), Corrector::goOnline(), Degrader::goOnline(), Degrader::initialise(), PluginElement::initialise(), Vacuum::initialise(), Corrector::initialise(), Cyclotron::initialise(), Undulator::initialise(), VerticalFFAMagnet::initialise(), Drift::initialise(), FlexibleCollimator::initialise(), Marker::initialise(), Monitor::initialise(), Multipole::initialise(), MultipoleT::initialise(), Offset::initialise(), RBend3D::initialise(), RFCavity::initialise(), SBend3D::initialise(), ScalingFFAMagnet::initialise(), Solenoid::initialise(), Source::initialise(), TravelingWave::initialise(), VariableRFCavity::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 PluginElement::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 PluginElement::setDimensions().
|
protectedinherited |
Definition at line 373 of file ElementBase.h.
Referenced by Bend2D::findIdealBendParameters(), ElementBase::getRotationAboutZ(), RBend3D::initialise(), Bend2D::print(), and ElementBase::setRotationAboutZ().
|
protectedinherited |
Definition at line 113 of file PluginElement.h.
Referenced by Septum::doPreCheck(), and PluginElement::setDimensions().
|
mutableprotectedinherited |
Definition at line 364 of file ElementBase.h.
Referenced by Beamline::Beamline(), ElementBase::isSharable(), and ElementBase::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 ElementBase::removeAttribute().
|
private |
Definition at line 254 of file OutputPlane.h.
Referenced by checkOne(), doCheck(), getVerboseLevel(), 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(), ElementBase::hasWake(), and ElementBase::setWake().
|
protectedinherited |
Definition at line 110 of file PluginElement.h.
Referenced by CCollimator::CCollimator(), Septum::doCheck(), PluginElement::getXEnd(), PluginElement::PluginElement(), PluginElement::setDimensions(), and PluginElement::setGeom().
|
protectedinherited |
input geometry positions
Definition at line 109 of file PluginElement.h.
Referenced by CCollimator::CCollimator(), Septum::doCheck(), PluginElement::getXStart(), PluginElement::PluginElement(), PluginElement::setDimensions(), and PluginElement::setGeom().
|
protectedinherited |
Definition at line 112 of file PluginElement.h.
Referenced by CCollimator::CCollimator(), Septum::doCheck(), PluginElement::getYEnd(), PluginElement::PluginElement(), PluginElement::setDimensions(), and PluginElement::setGeom().
|
protectedinherited |
Definition at line 111 of file PluginElement.h.
Referenced by CCollimator::CCollimator(), Septum::doCheck(), PluginElement::getYStart(), PluginElement::PluginElement(), PluginElement::setDimensions(), and PluginElement::setGeom().