OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
TravelingWaveRep Class Reference

#include <TravelingWaveRep.h>

Inheritance diagram for TravelingWaveRep:
Inheritance graph
Collaboration diagram for TravelingWaveRep:
Collaboration graph

Public Member Functions

 TravelingWaveRep (const std::string &name)
 Constructor with given name.
 
 TravelingWaveRep ()
 
 TravelingWaveRep (const TravelingWaveRep &)
 
virtual ~TravelingWaveRep ()
 
virtual ElementBaseclone () const
 Return clone.
 
virtual ChannelgetChannel (const std::string &aKey, bool=false)
 Construct a read/write channel.
 
virtual AcceleratingFieldgetField ()
 Get field.
 
virtual const AcceleratingFieldgetField () const
 Get field.
 
virtual StraightGeometrygetGeometry ()
 Get geometry.
 
virtual const StraightGeometrygetGeometry () const
 Get geometry.
 
virtual double getAmplitude () const
 Get amplitude.
 
virtual double getFrequency () const
 Get frequency.
 
virtual double getPhase () const
 Get phase.
 
virtual void setAmplitude (double V)
 Set amplitude.
 
virtual void setFrequency (double f)
 Set frequency.
 
virtual void setPhase (double phi)
 Set phase.
 
virtual void accept (BeamlineVisitor &) const override
 Apply visitor to TravelingWave.
 
virtual void setPhasem (double phase) override
 
void setNumCells (int NumCells)
 
void setMode (double mode)
 
virtual double getAutoPhaseEstimate (const double &E0, const double &t0, const double &q, const double &m) override
 
virtual bool apply (const std::shared_ptr< ParticleContainer_t > &pc) override
 Applies the Traveling Wave RF Cavity field to all particles inside the RF cavity Note: The field is applied in three regions: the core region, the exit region, and the transition region in between. The field in the transition region is calculated as the superposition of two fields from the core region, which are phase-shifted by 90 degrees and spatially shifted by one cell length. This approach allows for a smooth transition of the field from the core to the exit region, while maintaining the correct phase relationship between the fields.
 
virtual bool apply (const size_t &i, const double &t, Vector_t< double, 3 > &E, Vector_t< double, 3 > &B) override
 Apply to particle i.
 
virtual bool apply (const Vector_t< double, 3 > &R, const Vector_t< double, 3 > &P, const double &t, Vector_t< double, 3 > &E, Vector_t< double, 3 > &B) override
 Apply to particle with position R and momentum P.
 
virtual bool applyToReferenceParticle (const Vector_t< double, 3 > &R, const Vector_t< double, 3 > &P, const double &t, Vector_t< double, 3 > &E, Vector_t< double, 3 > &B) override
 Apply to reference particle with position R and momemtum P.
 
virtual void initialise (PartBunch_t *bunch, double &startField, double &endField) override
 
virtual void initialise (PartBunch_t *bunch, std::shared_ptr< AbstractTimeDependence > freq_atd, std::shared_ptr< AbstractTimeDependence > ampl_atd, std::shared_ptr< AbstractTimeDependence > phase_atd) override
 
virtual void finalise () override
 
virtual bool bends () const override
 
virtual void goOnline (const double &kineticEnergy) override
 
virtual void goOffline () override
 
virtual ElementType getType () const override
 Get element type std::string.
 
virtual void getFieldExtend (double &zBegin, double &zEnd) const override
 Return the field-support interval of the traveling-wave structure.
 
virtual bool isInside (const Vector_t< double, 3 > &r) const override
 
virtual void getElementDimensions (double &begin, double &end) const override
 Return the nominal body extent of the element.
 
virtual CoordinateSystemTrafo getEdgeToBegin () const override
 
virtual CoordinateSystemTrafo getEdgeToEnd () const override
 
void dropFieldmaps ()
 
virtual void setFieldMapFN (const std::string &fmapfn)
 Set the name of the field map.
 
virtual std::string getFieldMapFN () const
 
virtual void setAmplitudem (double vPeak)
 
virtual double getAmplitudem () const
 
virtual void setAmplitudeError (double vPeakError)
 
virtual double getAmplitudeError () const
 
virtual void setFrequencym (double freq)
 
virtual double getFrequencym () const
 
virtual double getPhasem () const
 
double getPhasem (double t) const
 
virtual void setPhaseError (double phaseError)
 
virtual double getPhaseError () const
 
void setCavityType (const std::string &type)
 
CavityType getCavityType () const
 
std::string getCavityTypeString () const
 
virtual void setFast (bool fast)
 
virtual bool getFast () const
 
virtual void setAutophaseVeto (bool veto=true)
 
virtual bool getAutophaseVeto () const
 
virtual double getAutoPhaseEstimateFallback (double E0, double t0, double q, double m)
 
virtual std::pair< double, double > trackOnAxisParticle (const double &p0, const double &t0, const double &dt, const double &q, const double &mass, std::ofstream *out=nullptr)
 
virtual void setDesignEnergy (const double &ekin, bool changeable=true) override
 
virtual double getDesignEnergy () const override
 
void setRmin (double rmin)
 
virtual double getRmin () const
 
void setRmax (double rmax)
 
virtual double getRmax () const
 
void setAzimuth (double angle)
 
virtual double getAzimuth () const
 
void setPerpenDistance (double pdis)
 
virtual double getPerpenDistance () const
 
void setGapWidth (double gapwidth)
 
virtual double getGapWidth () const
 
void setPhi0 (double phi0)
 
virtual double getPhi0 () const
 
virtual double getCosAzimuth () const
 
virtual double getSinAzimuth () const
 
virtual double getCycFrequency () const
 
void getMomentaKick (const double normalRadius, double momentum[], const double t, const double dtCorrt, const int PID, const double restMass, const int chargenumber)
 used in OPAL-cycl
 
double spline (double z, double *za)
 
void setAmplitudeModel (std::shared_ptr< AbstractTimeDependence > time_dep)
 
void setAmplitudeModelName (std::string name)
 
std::string getAmplitudeModelName ()
 
void setPhaseModel (std::shared_ptr< AbstractTimeDependence > time_dep)
 
void setPhaseModelName (std::string name)
 
std::string getPhaseModelName ()
 
void setFrequencyModel (std::shared_ptr< AbstractTimeDependence > time_dep)
 
void setFrequencyModelName (std::string name)
 
std::string getFrequencyModelName ()
 
virtual double getElementLength () const override
 Return the nominal body length of the cavity.
 
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< double, 3 > &, const double &, Vector_t< double, 3 > &, double &)
 Calculate the four-potential at some position relative to the component.
 
virtual bool Online ()
 
virtual const ElementBasegetDesign () const
 Return design element.
 
virtual void trackBunch (PartBunch_t &bunch, const PartData &, bool revBeam, bool revTrack) const
 Track a borrowed particle bunch through a non-standard component.
 
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 void setElementLength (double length)
 Set design length.
 
virtual double getOrigin () const
 Get origin position.
 
virtual double getEntrance () const
 Get entrance position.
 
virtual double getExit () const
 Get exit position.
 
virtual Euclid3D getTransform (double fromS, double toS) const
 Get transform.
 
virtual Euclid3D getTransform (double s) const
 Get transform.
 
virtual Euclid3D getTotalTransform () const
 Get transform.
 
virtual Euclid3D getEntranceFrame () const
 Get transform.
 
virtual Euclid3D getExitFrame () const
 Get transform.
 
virtual Euclid3D getEntrancePatch () const
 Get patch.
 
virtual Euclid3D getExitPatch () const
 Get patch.
 
virtual double getAttribute (const std::string &aKey) const
 Get attribute value.
 
virtual bool hasAttribute (const std::string &aKey) const
 Test for existence of an attribute.
 
virtual void removeAttribute (const std::string &aKey)
 Remove an existing attribute.
 
virtual void setAttribute (const std::string &aKey, double val)
 Set value of an attribute.
 
virtual const ConstChannelgetConstChannel (const std::string &aKey) const
 Construct a read-only channel.
 
virtual ElementBasecopyStructure ()
 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 BoundaryGeometrygetBoundaryGeometry () 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 Port getEntryPort () const
 Return the entrance port of the canonical local chart.
 
virtual Port getBodyPort () const
 Return the body port of the canonical local chart.
 
virtual Port getExitPort () const
 Return the exit port of the canonical local chart.
 
PlacementPose getPlacementPose () const
 Return the nominal rigid placement transform of the element.
 
void setPlacementPose (const PlacementPose &pose)
 Set the nominal rigid placement transform of the element.
 
Misalignment getPlacementMisalignment () const
 Return the local nominal-to-actual correction stored for the element.
 
ElementGeometry getPlacementGeometry () const
 Return the bridge geometry ports assembled from legacy edge state.
 
SupportPlacement getPlacementSupport () const
 Return the support-frame bridge object. The default is the body frame.
 
PlacedElement getPlacedElement () const
 Return a placed-element view assembled from the current bridge objects.
 
void setAperture (const ApertureType &type, const std::vector< double > &args)
 
std::pair< ApertureType, std::vector< double > > getAperture () const
 
void setMisalignment (const CoordinateSystemTrafo &cst)
 
void getMisalignment (double &x, double &y, double &s) const
 
CoordinateSystemTrafo getMisalignment () const
 
void setActionRange (const std::queue< std::pair< double, double > > &range)
 
void setCurrentSCoordinate (double s)
 
void setRotationAboutZ (double rotation)
 Set rotation about z axis in bend frame.
 
double getRotationAboutZ () const
 
virtual BoundingBox getBoundingBoxInLabCoords () const
 
virtual int getRequiredNumberOfTimeSteps () const
 
void setOutputFN (std::string fn)
 Set output filename.
 
std::string getOutputFN () const
 Get output filename.
 
void setFlagDeleteOnTransverseExit (bool=true)
 
bool getFlagDeleteOnTransverseExit () const
 
void setElementPosition (double elemedge)
 Access to ELEMEDGE attribute.
 
double getElementPosition () const
 
bool isElementPositionSet () const
 

Static Public Member Functions

static void setIgnore (bool ignore=false)
 Set ignore switch.
 
static std::string getTypeString (ElementType type)
 

Protected Member Functions

bool isInsideTransverse (const Vector_t< double, 3 > &r) const
 

Protected Attributes

std::shared_ptr< AbstractTimeDependencephaseTD_m
 
std::string phaseName_m
 
std::shared_ptr< AbstractTimeDependenceamplitudeTD_m
 
std::string amplitudeName_m
 
std::shared_ptr< AbstractTimeDependencefrequencyTD_m
 
std::string frequencyName_m
 
std::string filename_m
 
double scale_m
 
double scaleError_m
 
double phase_m
 
double phaseError_m
 
double frequency_m
 
bool fast_m
 
bool autophaseVeto_m
 
double designEnergy_m
 
Fieldmapfieldmap_m
 
double startField_m
 
double endField_m
 
double exit_face_slope_m
 
PartBunch_tRefPartBunch_m
 
bool online_m
 
bool shareFlag
 
CoordinateSystemTrafo csTrafoGlobal2Local_m
 
CoordinateSystemTrafo misalignment_m
 
std::pair< ApertureType, std::vector< double > > aperture_m
 
double elementEdge_m
 
double rotationZAxis_m
 

Static Protected Attributes

static const std::vector< double > defaultAperture_m = std::vector<double>({1e6, 1e6, 1.0})
 

Private Member Functions

void operator= (const TravelingWaveRep &)
 
double getdE (const int &i, const int &I, const std::vector< double > &t, const double &phi, const std::vector< std::pair< double, double > > &F) const
 
double getdT (const int &i, const int &I, const std::vector< double > &E, const std::vector< std::pair< double, double > > &F, const double mass) const
 
double getdA (const int &i, const int &I, const std::vector< double > &t, const double &phi, const std::vector< std::pair< double, double > > &F) const
 
double getdB (const int &i, const int &I, const std::vector< double > &t, const double &phi, const std::vector< std::pair< double, double > > &F) const
 

Private Attributes

StraightGeometry geometry
 The cavity's geometry.
 
AcceleratingField field
 The cavity's field.
 
double scaleCore_m
 
double scaleCoreError_m
 
double phaseCore1_m
 
double phaseCore2_m
 
double phaseExit_m
 
double startCoreField_m
 
double startExitField_m
 
double mappedStartExitField_m
 
double periodLength_m
 
int numCells_m
 
double cellLength_m
 
double mode_m
 
CavityType type_m
 
double rmin_m
 
double rmax_m
 
double angle_m
 
double sinAngle_m
 
double cosAngle_m
 
double pdis_m
 
double gapwidth_m
 
double phi0_m
 
std::unique_ptr< double[]> RNormal_m
 
std::unique_ptr< double[]> VrNormal_m
 
std::unique_ptr< double[]> DvDr_m
 
int num_points_m
 
std::string elementID
 
AttributeSet userAttribs
 
WakeFunction * wake_m
 
BoundaryGeometrybgeometry_m
 
ParticleMatterInteractionHandler * parmatint_m
 
bool positionIsFixed
 
std::queue< std::pair< double, double > > actionRange_m
 
std::string outputfn_m
 
bool deleteOnTransverseExit_m = true
 
double elementPosition_m
 ELEMEDGE attribute.
 
bool elemedgeSet_m
 

Static Private Attributes

static bool ignoreCavities = false
 Cavities are ignored (amplitude = 0) when this switch is set.
 
static const BiMap< CavityType, std::string > bmCavityTypeString_s
 
static const std::map< ElementType, std::string > elementTypeToString_s
 

Detailed Description

Definition at line 25 of file TravelingWaveRep.h.

Constructor & Destructor Documentation

◆ TravelingWaveRep() [1/3]

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

Constructor with given name.

Definition at line 42 of file TravelingWaveRep.cpp.

◆ TravelingWaveRep() [2/3]

TravelingWaveRep::TravelingWaveRep ( )

Definition at line 38 of file TravelingWaveRep.cpp.

Referenced by clone().

◆ TravelingWaveRep() [3/3]

TravelingWaveRep::TravelingWaveRep ( const TravelingWaveRep right)

Definition at line 40 of file TravelingWaveRep.cpp.

◆ ~TravelingWaveRep()

TravelingWaveRep::~TravelingWaveRep ( )
virtual

Definition at line 44 of file TravelingWaveRep.cpp.

Member Function Documentation

◆ accept()

void TravelingWave::accept ( BeamlineVisitor visitor) const
overridevirtualinherited

Apply visitor to TravelingWave.

Reimplemented from RFCavity.

Definition at line 53 of file TravelingWave.cpp.

References BeamlineVisitor::visitTravelingWave().

Here is the call graph for this function:

◆ apply() [1/3]

bool TravelingWave::apply ( const size_t &  i,
const double &  t,
Vector_t< double, 3 > &  E,
Vector_t< double, 3 > &  B 
)
overridevirtualinherited

Apply to particle i.

Parameters
iParticle index
tTime
EElectric Field
BMagnetic Field
Returns
true if particle is out-of-bounds (lost), false otherwise

Reimplemented from RFCavity.

Definition at line 114 of file TravelingWave.cpp.

References TravelingWave::apply(), PartBunch< T, Dim >::R(), and Component::RefPartBunch_m.

Here is the call graph for this function:

◆ apply() [2/3]

bool TravelingWave::apply ( const std::shared_ptr< ParticleContainer_t > &  pc)
overridevirtualinherited

Applies the Traveling Wave RF Cavity field to all particles inside the RF cavity Note: The field is applied in three regions: the core region, the exit region, and the transition region in between. The field in the transition region is calculated as the superposition of two fields from the core region, which are phase-shifted by 90 degrees and spatially shifted by one cell length. This approach allows for a smooth transition of the field from the core to the exit region, while maintaining the correct phase relationship between the fields.

Reimplemented from RFCavity.

Definition at line 66 of file TravelingWave.cpp.

References TravelingWave::cellLength_m, RFCavity::endField_m, RFCavity::fieldmap_m, RFCavity::frequency_m, PartBunch< T, Dim >::getdT(), PartBunch< T, Dim >::getT(), TravelingWave::mappedStartExitField_m, TravelingWave::periodLength_m, RFCavity::phase_m, TravelingWave::phaseCore1_m, TravelingWave::phaseCore2_m, RFCavity::phaseError_m, TravelingWave::phaseExit_m, Component::RefPartBunch_m, RFCavity::scale_m, TravelingWave::scaleCore_m, TravelingWave::scaleCoreError_m, RFCavity::scaleError_m, TravelingWave::startCoreField_m, TravelingWave::startExitField_m, and RFCavity::startField_m.

Referenced by TravelingWave::apply().

Here is the call graph for this function:

◆ apply() [3/3]

bool TravelingWave::apply ( const Vector_t< double, 3 > &  R,
const Vector_t< double, 3 > &  P,
const double &  t,
Vector_t< double, 3 > &  E,
Vector_t< double, 3 > &  B 
)
overridevirtualinherited

◆ applyToReferenceParticle()

bool TravelingWave::applyToReferenceParticle ( const Vector_t< double, 3 > &  R,
const Vector_t< double, 3 > &  P,
const double &  t,
Vector_t< double, 3 > &  E,
Vector_t< double, 3 > &  B 
)
overridevirtualinherited

Apply to reference particle with position R and momemtum P.

Parameters
RPosition
PMomentum
tTime
EElectric Field
BMagnetic Field
Returns
true if particle is out-of-bounds (lost), false otherwise

Reimplemented from RFCavity.

Definition at line 183 of file TravelingWave.cpp.

References TravelingWave::cellLength_m, RFCavity::endField_m, RFCavity::fieldmap_m, RFCavity::frequency_m, Fieldmap::getFieldstrength(), Fieldmap::isInside(), TravelingWave::mappedStartExitField_m, TravelingWave::periodLength_m, RFCavity::phase_m, TravelingWave::phaseCore1_m, TravelingWave::phaseCore2_m, TravelingWave::phaseExit_m, RFCavity::scale_m, TravelingWave::scaleCore_m, TravelingWave::startCoreField_m, TravelingWave::startExitField_m, and RFCavity::startField_m.

Here is the call graph for this function:

◆ bends()

bool TravelingWave::bends ( ) const
overridevirtualinherited

Reimplemented from RFCavity.

Definition at line 290 of file TravelingWave.cpp.

◆ Bfield() [1/2]

BVector Component::Bfield ( const Point3D P) const
inlineinherited

Return the field in a point.

Definition at line 234 of file Component.h.

References EMField::Bfield(), and Component::getField().

Here is the call graph for this function:

◆ Bfield() [2/2]

BVector Component::Bfield ( const Point3D P,
double  t 
) const
inlineinherited

Return the field in a point.

Definition at line 240 of file Component.h.

References EMField::Bfield(), and Component::getField().

Here is the call graph for this function:

◆ clone()

ElementBase * TravelingWaveRep::clone ( ) const
virtual

Return clone.

Implements ElementBase.

Definition at line 46 of file TravelingWaveRep.cpp.

References TravelingWaveRep().

Here is the call graph for this function:

◆ copyStructure()

ElementBase * ElementBase::copyStructure ( )
virtualinherited

Make a structural copy.

Reimplemented in TBeamline< T >.

Definition at line 194 of file ElementBase.cpp.

References ElementBase::clone(), and ElementBase::isSharable().

Referenced by Sequence::copy(), Line::parse(), SequenceParser::parseMember(), and Replacer::visitFlaggedElmPtr().

Here is the call graph for this function:

◆ dropFieldmaps()

void RFCavity::dropFieldmaps ( )
inlineinherited

Definition at line 325 of file RFCavity.h.

References RFCavity::fieldmap_m.

Referenced by OpalCavity::update().

◆ EBfield() [1/2]

EBVectors Component::EBfield ( const Point3D P) const
inlineinherited

Return the field in a point.

Definition at line 244 of file Component.h.

References EMField::EBfield(), and Component::getField().

Here is the call graph for this function:

◆ EBfield() [2/2]

EBVectors Component::EBfield ( const Point3D P,
double  t 
) const
inlineinherited

Return the field in a point.

Definition at line 246 of file Component.h.

References EMField::EBfield(), and Component::getField().

Here is the call graph for this function:

◆ Efield() [1/2]

EVector Component::Efield ( const Point3D P) const
inlineinherited

Return the field in a point.

Definition at line 232 of file Component.h.

References EMField::Efield(), and Component::getField().

Here is the call graph for this function:

◆ Efield() [2/2]

EVector Component::Efield ( const Point3D P,
double  t 
) const
inlineinherited

Return the field in a point.

Definition at line 236 of file Component.h.

References EMField::Efield(), and Component::getField().

Here is the call graph for this function:

◆ finalise()

void TravelingWave::finalise ( )
overridevirtualinherited

Reimplemented from RFCavity.

Definition at line 288 of file TravelingWave.cpp.

◆ fixPosition()

void ElementBase::fixPosition ( )
inlineinherited

◆ getAmplitude()

double TravelingWaveRep::getAmplitude ( ) const
virtual

Get amplitude.

Implements TravelingWave.

Definition at line 66 of file TravelingWaveRep.cpp.

References field, ConstEzField::getEz(), and ignoreCavities.

Here is the call graph for this function:

◆ getAmplitudeError()

double RFCavity::getAmplitudeError ( ) const
inlinevirtualinherited

Definition at line 335 of file RFCavity.h.

References RFCavity::scaleError_m.

◆ getAmplitudem()

double RFCavity::getAmplitudem ( ) const
inlinevirtualinherited

Definition at line 331 of file RFCavity.h.

References RFCavity::scale_m.

Referenced by CavityAutophaser::getPhaseAtMaxEnergy().

◆ getAmplitudeModelName()

std::string RFCavity::getAmplitudeModelName ( )
inlineinherited

Definition at line 369 of file RFCavity.h.

References RFCavity::amplitudeName_m.

◆ getAperture()

std::pair< ApertureType, std::vector< double > > ElementBase::getAperture ( ) const
inlineinherited

◆ getArcLength()

double ElementBase::getArcLength ( ) const
inlinevirtualinherited

Get arc length.

Reimplemented in MarkerRep, and TBeamline< T >.

Definition at line 479 of file ElementBase.h.

References BGeometryBase::getArcLength(), and ElementBase::getGeometry().

Referenced by BeamlineGeometry::getArcLength(), and TBeamline< T >::getTransform().

Here is the call graph for this function:

◆ getAttribute()

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

Get attribute value.

Definition at line 147 of file ElementBase.cpp.

References ElementBase::getConstChannel().

Here is the call graph for this function:

◆ getAutoPhaseEstimate()

double TravelingWave::getAutoPhaseEstimate ( const double &  E0,
const double &  t0,
const double &  q,
const double &  m 
)
overridevirtualinherited

◆ getAutoPhaseEstimateFallback()

double RFCavity::getAutoPhaseEstimateFallback ( double  E0,
double  t0,
double  q,
double  m 
)
virtualinherited

◆ getAutophaseVeto()

bool RFCavity::getAutophaseVeto ( ) const
inlinevirtualinherited

◆ getAzimuth()

double RFCavity::getAzimuth ( ) const
virtualinherited

Definition at line 307 of file RFCavity.cpp.

References RFCavity::angle_m.

◆ getBodyPort()

Port ElementBase::getBodyPort ( ) const
inlinevirtualinherited

Return the body port of the canonical local chart.

The body port \(p_{i,\mathrm{body}}\) is the identity port of the element's canonical local chart. Its rigid transform is therefore the identity element of \(SE(3)\) in the first redesign stage.

Definition at line 547 of file ElementBase.h.

Referenced by ElementBase::getPlacementGeometry(), and TEST_F().

◆ getBoundaryGeometry()

BoundaryGeometry * ElementBase::getBoundaryGeometry ( ) const
inlinevirtualinherited

return the attached boundary geometrt object if there is any

Definition at line 513 of file ElementBase.h.

References ElementBase::bgeometry_m.

◆ getBoundingBoxInLabCoords()

BoundingBox ElementBase::getBoundingBoxInLabCoords ( ) const
virtualinherited

◆ getCavityType()

CavityType RFCavity::getCavityType ( ) const
inlineinherited

Definition at line 353 of file RFCavity.h.

References RFCavity::type_m.

◆ getCavityTypeString()

std::string RFCavity::getCavityTypeString ( ) const
inherited

◆ getChannel()

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

Construct a read/write channel.

Reimplemented from ElementBase.

Definition at line 48 of file TravelingWaveRep.cpp.

References ElementBase::getChannel().

Here is the call graph for this function:

◆ getConstChannel()

const ConstChannel * ElementBase::getConstChannel ( const std::string &  aKey) const
virtualinherited

Construct a read-only channel.

Definition at line 186 of file ElementBase.cpp.

References ElementBase::getChannel().

Referenced by ElementBase::getAttribute(), and ElementBase::hasAttribute().

Here is the call graph for this function:

◆ getCosAzimuth()

double RFCavity::getCosAzimuth ( ) const
virtualinherited

Definition at line 311 of file RFCavity.cpp.

References RFCavity::cosAngle_m.

◆ getCSTrafoGlobal2Local()

CoordinateSystemTrafo ElementBase::getCSTrafoGlobal2Local ( ) const
inlineinherited

◆ getCycFrequency()

double RFCavity::getCycFrequency ( ) const
virtualinherited

Definition at line 345 of file RFCavity.cpp.

References RFCavity::frequency_m.

◆ getdA()

double TravelingWave::getdA ( const int &  i,
const int &  I,
const std::vector< double > &  t,
const double &  phi,
const std::vector< std::pair< double, double > > &  F 
) const
inlineprivateinherited

Definition at line 181 of file TravelingWave.h.

References RFCavity::frequency_m.

Referenced by TravelingWave::getAutoPhaseEstimate().

◆ getdB()

double TravelingWave::getdB ( const int &  i,
const int &  I,
const std::vector< double > &  t,
const double &  phi,
const std::vector< std::pair< double, double > > &  F 
) const
inlineprivateinherited

Definition at line 194 of file TravelingWave.h.

References RFCavity::frequency_m.

Referenced by TravelingWave::getAutoPhaseEstimate().

◆ getdE()

double TravelingWave::getdE ( const int &  i,
const int &  I,
const std::vector< double > &  t,
const double &  phi,
const std::vector< std::pair< double, double > > &  F 
) const
inlineprivateinherited

Definition at line 141 of file TravelingWave.h.

References RFCavity::frequency_m.

Referenced by TravelingWave::getAutoPhaseEstimate().

◆ getDesign()

const ElementBase & Component::getDesign ( ) const
virtualinherited

Return design element.

Definition at line 33 of file Component.cpp.

◆ getDesignEnergy()

double RFCavity::getDesignEnergy ( ) const
inlineoverridevirtualinherited

Reimplemented from Component.

Definition at line 323 of file RFCavity.h.

References RFCavity::designEnergy_m.

Referenced by OrbitThreader::getMaxDesignEnergy(), and CavityAutophaser::getPhaseAtMaxEnergy().

◆ getdT()

double TravelingWave::getdT ( const int &  i,
const int &  I,
const std::vector< double > &  E,
const std::vector< std::pair< double, double > > &  F,
const double  mass 
) const
inlineprivateinherited

Definition at line 154 of file TravelingWave.h.

References Physics::c.

Referenced by TravelingWave::getAutoPhaseEstimate().

◆ getEdgeToBegin()

CoordinateSystemTrafo TravelingWave::getEdgeToBegin ( ) const
inlineoverridevirtualinherited

Reimplemented from RFCavity.

Definition at line 220 of file TravelingWave.h.

◆ getEdgeToEnd()

CoordinateSystemTrafo TravelingWave::getEdgeToEnd ( ) const
inlineoverridevirtualinherited

Reimplemented from RFCavity.

Definition at line 225 of file TravelingWave.h.

References RFCavity::getElementLength().

Here is the call graph for this function:

◆ getElementDimensions()

void TravelingWave::getElementDimensions ( double &  begin,
double &  end 
) const
overridevirtualinherited

Return the nominal body extent of the element.

The first placement redesign stage distinguishes between the nominal body extent and the field-support extent. The body extent is the canonical longitudinal interval of the placed hardware, \([z_\mathrm{body}^{\mathrm{begin}}, z_\mathrm{body}^{\mathrm{end}}]\), and therefore drives ports, placement, and visualization. By default it coincides with the geometry length \([0, L]\) in the local chart.

Reimplemented from RFCavity.

Definition at line 304 of file TravelingWave.cpp.

References RFCavity::getElementLength().

Here is the call graph for this function:

◆ getElementLength()

double RFCavity::getElementLength ( ) const
overridevirtualinherited

Return the nominal body length of the cavity.

The body length is the placed hardware extent configured on the cavity geometry. It is independent of the field-support extent returned by getFieldExtend().

Reimplemented from ElementBase.

Definition at line 716 of file RFCavity.cpp.

References ElementBase::getElementLength().

Referenced by RFCavity::getEdgeToEnd(), TravelingWave::getEdgeToEnd(), RFCavity::getElementDimensions(), and TravelingWave::getElementDimensions().

Here is the call graph for this function:

◆ getElementPosition()

double ElementBase::getElementPosition ( ) const
inlineinherited

Definition at line 618 of file ElementBase.h.

References ElementBase::elemedgeSet_m, ElementBase::elementPosition_m, and ElementBase::getName().

Here is the call graph for this function:

◆ getEntrance()

double ElementBase::getEntrance ( ) const
inlinevirtualinherited

Get entrance position.

Reimplemented in TBeamline< T >.

Definition at line 487 of file ElementBase.h.

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

Referenced by BendBase::getDesignPath(), and BeamlineGeometry::getEntrance().

Here is the call graph for this function:

◆ getEntranceFrame()

Euclid3D ElementBase::getEntranceFrame ( ) const
inlinevirtualinherited

Get transform.

Reimplemented in TBeamline< T >.

Definition at line 499 of file ElementBase.h.

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

Referenced by BendBase::getChordLength(), BendBase::getEdgeToBegin(), and BeamlineGeometry::getEntranceFrame().

Here is the call graph for this function:

◆ getEntrancePatch()

Euclid3D ElementBase::getEntrancePatch ( ) const
inlinevirtualinherited

Get patch.

Definition at line 503 of file ElementBase.h.

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

Here is the call graph for this function:

◆ getEntryPort()

Port ElementBase::getEntryPort ( ) const
inlinevirtualinherited

Return the entrance port of the canonical local chart.

In the placement-note language, this is the marked entrance port \(p_{i,\mathrm{entry}}\) of element \(i\). For straight elements in the bridge stage, the body-to-entry transform is taken from the legacy getEdgeToBegin() result.

Definition at line 545 of file ElementBase.h.

References ElementBase::getEdgeToBegin().

Referenced by ElementBase::getPlacementGeometry(), and TEST_F().

Here is the call graph for this function:

◆ getExit()

double ElementBase::getExit ( ) const
inlinevirtualinherited

Get exit position.

Reimplemented in TBeamline< T >.

Definition at line 489 of file ElementBase.h.

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

Referenced by BendBase::getDesignPath(), and BeamlineGeometry::getExit().

Here is the call graph for this function:

◆ getExitFrame()

Euclid3D ElementBase::getExitFrame ( ) const
inlinevirtualinherited

Get transform.

Reimplemented in TBeamline< T >.

Definition at line 501 of file ElementBase.h.

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

Referenced by BendBase::getChordLength(), BendBase::getEdgeToEnd(), and BeamlineGeometry::getExitFrame().

Here is the call graph for this function:

◆ getExitPatch()

Euclid3D ElementBase::getExitPatch ( ) const
inlinevirtualinherited

Get patch.

Definition at line 505 of file ElementBase.h.

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

Here is the call graph for this function:

◆ getExitPort()

Port ElementBase::getExitPort ( ) const
inlinevirtualinherited

Return the exit port of the canonical local chart.

In the placement-note language, this is the marked exit port \(p_{i,\mathrm{exit}}\). For straight elements in the bridge stage, the body-to-exit transform is taken from the legacy getEdgeToEnd() result.

Definition at line 549 of file ElementBase.h.

References ElementBase::getEdgeToEnd().

Referenced by ElementBase::getPlacementGeometry(), and TEST_F().

Here is the call graph for this function:

◆ getFast()

bool RFCavity::getFast ( ) const
inlinevirtualinherited

Definition at line 357 of file RFCavity.h.

References RFCavity::fast_m.

◆ getField() [1/2]

AcceleratingField & TravelingWaveRep::getField ( )
virtual

Get field.

Implements Component.

Definition at line 58 of file TravelingWaveRep.cpp.

References field.

◆ getField() [2/2]

const AcceleratingField & TravelingWaveRep::getField ( ) const
virtual

Get field.

Implements Component.

Definition at line 60 of file TravelingWaveRep.cpp.

References field.

◆ getFieldExtend()

void TravelingWave::getFieldExtend ( double &  zBegin,
double &  zEnd 
) const
overridevirtualinherited

Return the field-support interval of the traveling-wave structure.

The field-support extent covers the entry, core, and exit field regions including the half-period fringe offsets. It is distinct from the nominal body extent used for placement and visualization.

Reimplemented from RFCavity.

Definition at line 299 of file TravelingWave.cpp.

References RFCavity::endField_m, and RFCavity::startField_m.

◆ getFieldMapFN()

std::string RFCavity::getFieldMapFN ( ) const
virtualinherited

Definition at line 330 of file RFCavity.cpp.

References RFCavity::filename_m.

◆ getFlagDeleteOnTransverseExit()

◆ getFrequency()

double TravelingWaveRep::getFrequency ( ) const
virtual

Get frequency.

Implements TravelingWave.

Definition at line 68 of file TravelingWaveRep.cpp.

References field, and OscillatingField< Field >::getFrequency().

Here is the call graph for this function:

◆ getFrequencym()

double RFCavity::getFrequencym ( ) const
inlinevirtualinherited

◆ getFrequencyModelName()

std::string RFCavity::getFrequencyModelName ( )
inlineinherited

Definition at line 385 of file RFCavity.h.

References RFCavity::frequencyName_m.

◆ getGapWidth()

double RFCavity::getGapWidth ( ) const
virtualinherited

Definition at line 315 of file RFCavity.cpp.

References RFCavity::gapwidth_m.

◆ getGeometry() [1/2]

StraightGeometry & TravelingWaveRep::getGeometry ( )
virtual

Get geometry.

Implements ElementBase.

Definition at line 62 of file TravelingWaveRep.cpp.

References geometry.

◆ getGeometry() [2/2]

const StraightGeometry & TravelingWaveRep::getGeometry ( ) const
virtual

Get geometry.

Implements ElementBase.

Definition at line 64 of file TravelingWaveRep.cpp.

References geometry.

◆ getMisalignment() [1/2]

CoordinateSystemTrafo ElementBase::getMisalignment ( ) const
inlineinherited

Definition at line 593 of file ElementBase.h.

References ElementBase::misalignment_m.

Referenced by ElementBase::getPlacementMisalignment().

◆ getMisalignment() [2/2]

void ElementBase::getMisalignment ( double &  x,
double &  y,
double &  s 
) const
inherited

◆ getMomentaKick()

void RFCavity::getMomentaKick ( const double  normalRadius,
double  momentum[],
const double  t,
const double  dtCorrt,
const int  PID,
const double  restMass,
const int  chargenumber 
)
inherited

used in OPAL-cycl

Is called from OPAL-cycl and can handle time dependent frequency, amplitude and phase

At the moment (test) only the frequency is time dependent

B field effects

Definition at line 357 of file RFCavity.cpp.

References Physics::c, RFCavity::cosAngle_m, Units::deg2rad, Units::eV2MeV, RFCavity::frequency_m, RFCavity::frequencyTD_m, RFCavity::gapwidth_m, ElementBase::getName(), gmsg, Units::mm2m, Units::MVpm2Vpm, Units::ns2s, RFCavity::phi0_m, Units::rad2deg, RFCavity::rmax_m, RFCavity::rmin_m, RFCavity::scale_m, RFCavity::sinAngle_m, RFCavity::spline(), and Physics::two_pi.

Here is the call graph for this function:

◆ getName()

◆ getOrigin()

double ElementBase::getOrigin ( ) const
inlinevirtualinherited

Get origin position.

Reimplemented in TBeamline< T >.

Definition at line 485 of file ElementBase.h.

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

Referenced by BeamlineGeometry::getOrigin().

Here is the call graph for this function:

◆ getOutputFN()

std::string ElementBase::getOutputFN ( ) const
inherited

Get output filename.

Definition at line 138 of file ElementBase.cpp.

References ElementBase::getName(), and ElementBase::outputfn_m.

Referenced by Probe::doInitialise(), PluginElement::initialise(), and Monitor::initialise().

Here is the call graph for this function:

◆ getParticleMatterInteraction()

ParticleMatterInteractionHandler * ElementBase::getParticleMatterInteraction ( ) const
inlinevirtualinherited

Definition at line 517 of file ElementBase.h.

References ElementBase::parmatint_m.

◆ getPerpenDistance()

double RFCavity::getPerpenDistance ( ) const
virtualinherited

Definition at line 313 of file RFCavity.cpp.

References RFCavity::pdis_m.

◆ getPhase()

double TravelingWaveRep::getPhase ( ) const
virtual

Get phase.

Implements TravelingWave.

Definition at line 70 of file TravelingWaveRep.cpp.

References field, and OscillatingField< Field >::getPhase().

Here is the call graph for this function:

◆ getPhaseError()

double RFCavity::getPhaseError ( ) const
inlinevirtualinherited

Definition at line 351 of file RFCavity.h.

References RFCavity::phaseError_m.

◆ getPhasem() [1/2]

◆ getPhasem() [2/2]

double RFCavity::getPhasem ( double  t) const
inlineinherited

Definition at line 347 of file RFCavity.h.

References RFCavity::frequency_m, and RFCavity::phase_m.

◆ getPhaseModelName()

std::string RFCavity::getPhaseModelName ( )
inlineinherited

Definition at line 377 of file RFCavity.h.

References RFCavity::phaseName_m.

◆ getPhi0()

double RFCavity::getPhi0 ( ) const
virtualinherited

Definition at line 317 of file RFCavity.cpp.

References RFCavity::phi0_m.

◆ getPlacedElement()

PlacedElement ElementBase::getPlacedElement ( ) const
inlineinherited

Return a placed-element view assembled from the current bridge objects.

Definition at line 571 of file ElementBase.h.

References ElementBase::getPlacementGeometry(), ElementBase::getPlacementMisalignment(), ElementBase::getPlacementPose(), and ElementBase::getPlacementSupport().

Referenced by MeshGenerator::add(), and TEST_F().

Here is the call graph for this function:

◆ getPlacementGeometry()

ElementGeometry ElementBase::getPlacementGeometry ( ) const
inlineinherited

Return the bridge geometry ports assembled from legacy edge state.

The first redesign stage defines a minimal explicit port contract with three named body-relative ports: \(p_{i,\mathrm{entry}}\), \(p_{i,\mathrm{body}}\), \(p_{i,\mathrm{exit}}\). The default bridge preserves current OPALX behavior by deriving those ports from getEntryPort(), getBodyPort(), and getExitPort(), whose straight-element implementations are backed by the legacy getEdgeToBegin() and getEdgeToEnd() methods.

Definition at line 563 of file ElementBase.h.

References ElementBase::getBodyPort(), ElementBase::getEntryPort(), and ElementBase::getExitPort().

Referenced by ElementBase::getPlacedElement().

Here is the call graph for this function:

◆ getPlacementMisalignment()

Misalignment ElementBase::getPlacementMisalignment ( ) const
inlineinherited

Return the local nominal-to-actual correction stored for the element.

Definition at line 559 of file ElementBase.h.

References ElementBase::getMisalignment().

Referenced by ElementBase::getPlacedElement().

Here is the call graph for this function:

◆ getPlacementPose()

PlacementPose ElementBase::getPlacementPose ( ) const
inlineinherited

Return the nominal rigid placement transform of the element.

This is the bridge from the legacy stored CoordinateSystemTrafo to the new placement vocabulary. It preserves current nominal placement semantics and does not apply misalignment.

Definition at line 551 of file ElementBase.h.

References ElementBase::getCSTrafoGlobal2Local().

Referenced by ElementBase::getPlacedElement().

Here is the call graph for this function:

◆ getPlacementSupport()

SupportPlacement ElementBase::getPlacementSupport ( ) const
inlineinherited

Return the support-frame bridge object. The default is the body frame.

Definition at line 567 of file ElementBase.h.

Referenced by ElementBase::getPlacedElement().

◆ getPotential()

virtual bool Component::getPotential ( const Vector_t< double, 3 > &  ,
const double &  ,
Vector_t< double, 3 > &  ,
double &   
)
inlinevirtualinherited

Calculate the four-potential at some position relative to the component.

Parameters
Rposition in the local coordinate system of the component
ttime
Afilled with the calculated magnetic vector potential
phifilled with the calculated electric potential Note that any existing values in A and phi may be overwritten by this method.
Returns
true if particle is outside the field map, else false Default for component is to return false and make no change to A and phi

Definition at line 155 of file Component.h.

◆ getRequiredNumberOfTimeSteps()

int ElementBase::getRequiredNumberOfTimeSteps ( ) const
inlinevirtualinherited

Reimplemented in BendBase, Drift, Laser, Marker, and Monitor.

Definition at line 628 of file ElementBase.h.

◆ getRmax()

double RFCavity::getRmax ( ) const
virtualinherited

Definition at line 305 of file RFCavity.cpp.

References RFCavity::rmax_m.

◆ getRmin()

double RFCavity::getRmin ( ) const
virtualinherited

Definition at line 303 of file RFCavity.cpp.

References RFCavity::rmin_m.

◆ getRotationAboutZ()

double ElementBase::getRotationAboutZ ( ) const
inlineinherited

Definition at line 609 of file ElementBase.h.

References ElementBase::rotationZAxis_m.

Referenced by OpalBeamline::compileCompatibilityPlacement().

◆ getSinAzimuth()

double RFCavity::getSinAzimuth ( ) const
virtualinherited

Definition at line 309 of file RFCavity.cpp.

References RFCavity::sinAngle_m.

◆ getTotalTransform()

Euclid3D ElementBase::getTotalTransform ( ) const
inlinevirtualinherited

Get transform.

Reimplemented in TBeamline< T >.

Definition at line 495 of file ElementBase.h.

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

Referenced by BeamlineGeometry::getTotalTransform().

Here is the call graph for this function:

◆ getTransform() [1/2]

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

Get transform.

Reimplemented in TBeamline< T >.

Definition at line 491 of file ElementBase.h.

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

Referenced by BendBase::getDesignPath(), BeamlineGeometry::getTransform(), TBeamline< T >::getTransform(), and BeamlineGeometry::getTransform().

Here is the call graph for this function:

◆ getTransform() [2/2]

Euclid3D ElementBase::getTransform ( double  s) const
inlinevirtualinherited

Get transform.

Reimplemented in TBeamline< T >.

Definition at line 497 of file ElementBase.h.

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

Here is the call graph for this function:

◆ getType()

ElementType TravelingWave::getType ( ) const
overridevirtualinherited

Get element type std::string.

Reimplemented from RFCavity.

Definition at line 309 of file TravelingWave.cpp.

References TRAVELINGWAVE.

◆ getTypeString() [1/2]

std::string ElementBase::getTypeString ( ) const
inlineinherited

Definition at line 611 of file ElementBase.h.

References ElementBase::getType(), and ElementBase::getTypeString().

Referenced by ElementBase::getTypeString().

Here is the call graph for this function:

◆ getTypeString() [2/2]

std::string ElementBase::getTypeString ( ElementType  type)
staticinherited

Definition at line 192 of file ElementBase.cpp.

References ElementBase::elementTypeToString_s.

◆ getWake()

WakeFunction * ElementBase::getWake ( ) const
inlinevirtualinherited

return the attached wake object if there is any

Definition at line 509 of file ElementBase.h.

References ElementBase::wake_m.

◆ goOffline()

void TravelingWave::goOffline ( )
overridevirtualinherited

Reimplemented from RFCavity.

Definition at line 297 of file TravelingWave.cpp.

References RFCavity::filename_m.

◆ goOnline()

void TravelingWave::goOnline ( const double &  kineticEnergy)
overridevirtualinherited

Reimplemented from RFCavity.

Definition at line 292 of file TravelingWave.cpp.

References RFCavity::filename_m, and Component::online_m.

◆ hasAttribute()

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

Test for existence of an attribute.

Definition at line 159 of file ElementBase.cpp.

References ElementBase::getConstChannel().

Here is the call graph for this function:

◆ hasBoundaryGeometry()

bool ElementBase::hasBoundaryGeometry ( ) const
inlinevirtualinherited

Definition at line 515 of file ElementBase.h.

References ElementBase::bgeometry_m.

◆ hasParticleMatterInteraction()

bool ElementBase::hasParticleMatterInteraction ( ) const
inlinevirtualinherited

Definition at line 521 of file ElementBase.h.

References ElementBase::parmatint_m.

◆ hasWake()

bool ElementBase::hasWake ( ) const
inlinevirtualinherited

Definition at line 511 of file ElementBase.h.

References ElementBase::wake_m.

◆ initialise() [1/2]

◆ initialise() [2/2]

void TravelingWave::initialise ( PartBunch_t bunch,
std::shared_ptr< AbstractTimeDependence freq_atd,
std::shared_ptr< AbstractTimeDependence ampl_atd,
std::shared_ptr< AbstractTimeDependence phase_atd 
)
overridevirtualinherited

Reimplemented from RFCavity.

Definition at line 280 of file TravelingWave.cpp.

References gmsg.

◆ isElementPositionSet()

bool ElementBase::isElementPositionSet ( ) const
inlineinherited

Definition at line 626 of file ElementBase.h.

References ElementBase::elemedgeSet_m.

◆ isInside()

bool TravelingWave::isInside ( const Vector_t< double, 3 > &  r) const
overridevirtualinherited

Reimplemented from RFCavity.

Definition at line 469 of file TravelingWave.cpp.

References ElementBase::isInsideTransverse(), TravelingWave::periodLength_m, and TravelingWave::startExitField_m.

Here is the call graph for this function:

◆ isInsideTransverse()

◆ isPositioned()

bool ElementBase::isPositioned ( ) const
inlineinherited

Definition at line 599 of file ElementBase.h.

References ElementBase::positionIsFixed.

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

◆ isSharable()

bool ElementBase::isSharable ( ) const
inlineinherited

Test if the element can be shared.

Definition at line 507 of file ElementBase.h.

References ElementBase::shareFlag.

Referenced by ElementBase::copyStructure(), and Sequence::updateList().

◆ makeSharable()

void ElementBase::makeSharable ( )
virtualinherited

Set sharable flag.

Reimplemented in TBeamline< T >.

Definition at line 202 of file ElementBase.cpp.

References ElementBase::shareFlag.

Referenced by OpalMarker::OpalMarker().

◆ Online()

bool Component::Online ( )
virtualinherited

Definition at line 47 of file Component.cpp.

References Component::online_m.

◆ operator=()

void TravelingWaveRep::operator= ( const TravelingWaveRep )
private

◆ releasePosition()

void ElementBase::releasePosition ( )
inlineinherited

Definition at line 595 of file ElementBase.h.

References ElementBase::positionIsFixed.

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

◆ removeAttribute()

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

Remove an existing attribute.

Definition at line 170 of file ElementBase.cpp.

References AttributeSet::removeAttribute(), and ElementBase::userAttribs.

Here is the call graph for this function:

◆ setActionRange()

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

Definition at line 601 of file ElementBase.h.

References ElementBase::actionRange_m, and ElementBase::elementEdge_m.

◆ setAmplitude()

void TravelingWaveRep::setAmplitude ( double  V)
virtual

Set amplitude.

Definition at line 72 of file TravelingWaveRep.cpp.

References field, and ConstEzField::setEz().

Referenced by OpalTravelingWave::update().

Here is the call graph for this function:

◆ setAmplitudeError()

void RFCavity::setAmplitudeError ( double  vPeakError)
inlinevirtualinherited

Definition at line 333 of file RFCavity.h.

References RFCavity::scaleError_m.

Referenced by OpalCavity::update(), and OpalTravelingWave::update().

◆ setAmplitudem()

void RFCavity::setAmplitudem ( double  vPeak)
inlinevirtualinherited

◆ setAmplitudeModel()

void RFCavity::setAmplitudeModel ( std::shared_ptr< AbstractTimeDependence time_dep)
inlineinherited

Definition at line 363 of file RFCavity.h.

References RFCavity::amplitudeTD_m.

Referenced by RFCavity::initialise().

◆ setAmplitudeModelName()

void RFCavity::setAmplitudeModelName ( std::string  name)
inlineinherited

Definition at line 367 of file RFCavity.h.

References RFCavity::amplitudeName_m.

Referenced by OpalCavity::update().

◆ setAperture()

void ElementBase::setAperture ( const ApertureType type,
const std::vector< double > &  args 
)
inlineinherited

◆ setAttribute()

void ElementBase::setAttribute ( const std::string &  aKey,
double  val 
)
virtualinherited

Set value of an attribute.

Definition at line 172 of file ElementBase.cpp.

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

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

Here is the call graph for this function:

◆ setAutophaseVeto()

void RFCavity::setAutophaseVeto ( bool  veto = true)
inlinevirtualinherited

◆ setAzimuth()

void RFCavity::setAzimuth ( double  angle)
inherited

Definition at line 295 of file RFCavity.cpp.

References RFCavity::angle_m.

Referenced by OpalCavity::update().

◆ setBoundaryGeometry()

void ElementBase::setBoundaryGeometry ( BoundaryGeometry geo)
virtualinherited

attach a boundary geometry field to the element

Definition at line 216 of file ElementBase.cpp.

References ElementBase::bgeometry_m.

◆ setCavityType()

void RFCavity::setCavityType ( const std::string &  type)
inherited

◆ setCSTrafoGlobal2Local()

void ElementBase::setCSTrafoGlobal2Local ( const CoordinateSystemTrafo ori)
inlineinherited

◆ setCurrentSCoordinate()

void ElementBase::setCurrentSCoordinate ( double  s)
inherited

Definition at line 224 of file ElementBase.cpp.

References ElementBase::actionRange_m, and ElementBase::elementEdge_m.

◆ setDesignEnergy()

void RFCavity::setDesignEnergy ( const double &  ekin,
bool  changeable = true 
)
inlineoverridevirtualinherited

Reimplemented from Component.

Definition at line 321 of file RFCavity.h.

References RFCavity::designEnergy_m.

Referenced by OpalCavity::update(), and OpalTravelingWave::update().

◆ setElementLength()

◆ setElementPosition()

void ElementBase::setElementPosition ( double  elemedge)
inlineinherited

Access to ELEMEDGE attribute.

Definition at line 613 of file ElementBase.h.

References ElementBase::elemedgeSet_m, and ElementBase::elementPosition_m.

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

◆ setExitFaceSlope()

void Component::setExitFaceSlope ( const double &  m)
inlineinherited

Definition at line 250 of file Component.h.

References Component::exit_face_slope_m.

◆ setFast()

void RFCavity::setFast ( bool  fast)
inlinevirtualinherited

Definition at line 355 of file RFCavity.h.

References RFCavity::fast_m.

Referenced by OpalCavity::update(), and OpalTravelingWave::update().

◆ setFieldMapFN()

void RFCavity::setFieldMapFN ( const std::string &  fmapfn)
inlinevirtualinherited

Set the name of the field map.

Definition at line 327 of file RFCavity.h.

References RFCavity::filename_m.

Referenced by OpalCavity::update(), and OpalTravelingWave::update().

◆ setFlagDeleteOnTransverseExit()

void ElementBase::setFlagDeleteOnTransverseExit ( bool  flag = true)
inlineinherited

Definition at line 630 of file ElementBase.h.

References ElementBase::deleteOnTransverseExit_m.

Referenced by OpalElement::update().

◆ setFrequency()

void TravelingWaveRep::setFrequency ( double  f)
virtual

Set frequency.

Definition at line 74 of file TravelingWaveRep.cpp.

References field, and OscillatingField< Field >::setFrequency().

Referenced by OpalTravelingWave::update().

Here is the call graph for this function:

◆ setFrequencym()

void RFCavity::setFrequencym ( double  freq)
inlinevirtualinherited

Definition at line 339 of file RFCavity.h.

References RFCavity::frequency_m.

Referenced by OpalCavity::update(), and OpalTravelingWave::update().

◆ setFrequencyModel()

void RFCavity::setFrequencyModel ( std::shared_ptr< AbstractTimeDependence time_dep)
inlineinherited

Definition at line 379 of file RFCavity.h.

References RFCavity::frequencyTD_m.

Referenced by RFCavity::initialise().

◆ setFrequencyModelName()

void RFCavity::setFrequencyModelName ( std::string  name)
inlineinherited

Definition at line 383 of file RFCavity.h.

References RFCavity::frequencyName_m.

Referenced by OpalCavity::update().

◆ setGapWidth()

void RFCavity::setGapWidth ( double  gapwidth)
inherited

Definition at line 299 of file RFCavity.cpp.

References RFCavity::gapwidth_m.

Referenced by OpalCavity::update().

◆ setIgnore()

void TravelingWaveRep::setIgnore ( bool  ignore = false)
static

Set ignore switch.

Definition at line 78 of file TravelingWaveRep.cpp.

References ignoreCavities.

◆ setMisalignment()

void ElementBase::setMisalignment ( const CoordinateSystemTrafo cst)
inlineinherited

Definition at line 591 of file ElementBase.h.

References ElementBase::misalignment_m.

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

◆ setMode()

void TravelingWave::setMode ( double  mode)
inlineinherited

Definition at line 218 of file TravelingWave.h.

References TravelingWave::mode_m.

Referenced by OpalTravelingWave::update().

◆ setName()

void ElementBase::setName ( const std::string &  name)
virtualinherited

Set element name.

Definition at line 134 of file ElementBase.cpp.

References ElementBase::elementID.

Referenced by Sequence::insertDrifts(), and VariableRFCavity::operator=().

◆ setNumCells()

void TravelingWave::setNumCells ( int  NumCells)
inlineinherited

Definition at line 216 of file TravelingWave.h.

References TravelingWave::numCells_m.

Referenced by OpalTravelingWave::update().

◆ setOutputFN()

void ElementBase::setOutputFN ( std::string  fn)
inherited

Set output filename.

Definition at line 136 of file ElementBase.cpp.

References ElementBase::outputfn_m.

Referenced by OpalMonitor::update(), and OpalProbe::update().

◆ setParticleMatterInteraction()

void ElementBase::setParticleMatterInteraction ( ParticleMatterInteractionHandler *  spys)
virtualinherited

Definition at line 220 of file ElementBase.cpp.

References ElementBase::parmatint_m.

◆ setPerpenDistance()

void RFCavity::setPerpenDistance ( double  pdis)
inherited

Definition at line 297 of file RFCavity.cpp.

References RFCavity::pdis_m.

Referenced by OpalCavity::update().

◆ setPhase()

void TravelingWaveRep::setPhase ( double  phi)
virtual

Set phase.

Definition at line 76 of file TravelingWaveRep.cpp.

References field, and OscillatingField< Field >::setPhase().

Referenced by OpalTravelingWave::update().

Here is the call graph for this function:

◆ setPhaseError()

void RFCavity::setPhaseError ( double  phaseError)
inlinevirtualinherited

Definition at line 349 of file RFCavity.h.

References RFCavity::phaseError_m.

Referenced by OpalCavity::update(), and OpalTravelingWave::update().

◆ setPhasem()

void TravelingWave::setPhasem ( double  phase)
inlineoverridevirtualinherited

◆ setPhaseModel()

void RFCavity::setPhaseModel ( std::shared_ptr< AbstractTimeDependence time_dep)
inlineinherited

Definition at line 371 of file RFCavity.h.

References RFCavity::phaseTD_m.

Referenced by RFCavity::initialise().

◆ setPhaseModelName()

void RFCavity::setPhaseModelName ( std::string  name)
inlineinherited

Definition at line 375 of file RFCavity.h.

References RFCavity::phaseName_m.

Referenced by OpalCavity::update().

◆ setPhi0()

void RFCavity::setPhi0 ( double  phi0)
inherited

Definition at line 301 of file RFCavity.cpp.

References RFCavity::phi0_m.

Referenced by OpalCavity::update().

◆ setPlacementPose()

void ElementBase::setPlacementPose ( const PlacementPose pose)
inlineinherited

Set the nominal rigid placement transform of the element.

This bridge setter preserves the existing storage model by delegating to setCSTrafoGlobal2Local().

Definition at line 555 of file ElementBase.h.

References PlacementPose::getParentToNominal(), and ElementBase::setCSTrafoGlobal2Local().

Here is the call graph for this function:

◆ setRmax()

void RFCavity::setRmax ( double  rmax)
inherited

Definition at line 293 of file RFCavity.cpp.

References RFCavity::rmax_m.

Referenced by OpalCavity::update().

◆ setRmin()

void RFCavity::setRmin ( double  rmin)
inherited

Definition at line 291 of file RFCavity.cpp.

References RFCavity::rmin_m.

Referenced by OpalCavity::update().

◆ setRotationAboutZ()

void ElementBase::setRotationAboutZ ( double  rotation)
inlineinherited

Set rotation about z axis in bend frame.

Definition at line 607 of file ElementBase.h.

References ElementBase::rotationZAxis_m.

Referenced by OpalElement::update().

◆ setWake()

void ElementBase::setWake ( WakeFunction *  wf)
virtualinherited

attach a wake field to the element

Definition at line 212 of file ElementBase.cpp.

References ElementBase::wake_m.

◆ spline()

double RFCavity::spline ( double  z,
double *  za 
)
inherited

◆ trackBunch()

void Component::trackBunch ( PartBunch_t bunch,
const PartData ,
bool  revBeam,
bool  revTrack 
) const
virtualinherited

Track a borrowed particle bunch through a non-standard component.

The default implementation throws a LogicalError.

Parameters
bunchParticle bunch to track. The component does not take ownership.

Definition at line 35 of file Component.cpp.

References ElementBase::getName().

Referenced by Tracker::visitComponent().

Here is the call graph for this function:

◆ trackMap()

void Component::trackMap ( FVps< double, 6 > &  map,
const PartData ,
bool  revBeam,
bool  revTrack 
) const
virtualinherited

Track a map.

Definition at line 39 of file Component.cpp.

References ElementBase::getName().

Here is the call graph for this function:

◆ trackOnAxisParticle()

std::pair< double, double > RFCavity::trackOnAxisParticle ( const double &  p0,
const double &  t0,
const double &  dt,
const double &  q,
const double &  mass,
std::ofstream *  out = nullptr 
)
virtualinherited

◆ update()

bool ElementBase::update ( const AttributeSet set)
inherited

Update element.

Definition at line 204 of file ElementBase.cpp.

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

Referenced by Monitor::driftToCorrectPositionAndSave().

Here is the call graph for this function:

Member Data Documentation

◆ actionRange_m

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

◆ amplitudeName_m

std::string RFCavity::amplitudeName_m
protectedinherited

Definition at line 202 of file RFCavity.h.

Referenced by RFCavity::getAmplitudeModelName(), and RFCavity::setAmplitudeModelName().

◆ amplitudeTD_m

std::shared_ptr<AbstractTimeDependence> RFCavity::amplitudeTD_m
protectedinherited

Definition at line 201 of file RFCavity.h.

Referenced by RFCavity::setAmplitudeModel().

◆ angle_m

double RFCavity::angle_m
privateinherited

Definition at line 230 of file RFCavity.h.

Referenced by RFCavity::getAzimuth(), RFCavity::initialise(), and RFCavity::setAzimuth().

◆ aperture_m

std::pair<ApertureType, std::vector<double> > ElementBase::aperture_m
protectedinherited

◆ autophaseVeto_m

bool RFCavity::autophaseVeto_m
protectedinherited

Definition at line 215 of file RFCavity.h.

Referenced by RFCavity::getAutophaseVeto(), and RFCavity::setAutophaseVeto().

◆ bgeometry_m

BoundaryGeometry* ElementBase::bgeometry_m
privateinherited

◆ bmCavityTypeString_s

const BiMap< CavityType, std::string > RFCavity::bmCavityTypeString_s
staticprivateinherited
Initial value:
= []() {
bimap.insert(CavityType::SW, "STANDING");
bimap.insert(CavityType::SGSW, "SINGLEGAP");
return bimap;
}()
Simple bidirectional map with lookup in both directions.
Definition BiMap.h:28
void insert(const Left &left, const Right &right)
Insert or overwrite a left/right association.
Definition BiMap.h:99

Definition at line 32 of file RFCavity.h.

Referenced by RFCavity::getCavityTypeString(), and RFCavity::setCavityType().

◆ cellLength_m

double TravelingWave::cellLength_m
privateinherited

◆ cosAngle_m

double RFCavity::cosAngle_m
privateinherited

◆ csTrafoGlobal2Local_m

◆ defaultAperture_m

const std::vector< double > Component::defaultAperture_m = std::vector<double>({1e6, 1e6, 1.0})
staticprotectedinherited

Definition at line 221 of file Component.h.

Referenced by Component::Component().

◆ deleteOnTransverseExit_m

bool ElementBase::deleteOnTransverseExit_m = true
privateinherited

◆ designEnergy_m

double RFCavity::designEnergy_m
protectedinherited

Definition at line 217 of file RFCavity.h.

Referenced by RFCavity::getDesignEnergy(), and RFCavity::setDesignEnergy().

◆ DvDr_m

std::unique_ptr<double[]> RFCavity::DvDr_m
privateinherited

Definition at line 239 of file RFCavity.h.

Referenced by RFCavity::initialise(), and RFCavity::spline().

◆ elemedgeSet_m

bool ElementBase::elemedgeSet_m
privateinherited

◆ elementEdge_m

double ElementBase::elementEdge_m
protectedinherited

◆ elementID

std::string ElementBase::elementID
privateinherited

Definition at line 451 of file ElementBase.h.

Referenced by ElementBase::getName(), and ElementBase::setName().

◆ elementPosition_m

double ElementBase::elementPosition_m
privateinherited

ELEMEDGE attribute.

Definition at line 466 of file ElementBase.h.

Referenced by ElementBase::getElementPosition(), and ElementBase::setElementPosition().

◆ elementTypeToString_s

const std::map< ElementType, std::string > ElementBase::elementTypeToString_s
staticprivateinherited
Initial value:

Definition at line 73 of file ElementBase.h.

Referenced by ElementBase::getTypeString().

◆ endField_m

◆ exit_face_slope_m

double Component::exit_face_slope_m
protectedinherited

Definition at line 222 of file Component.h.

Referenced by Component::setExitFaceSlope().

◆ fast_m

bool RFCavity::fast_m
protectedinherited

Definition at line 214 of file RFCavity.h.

Referenced by RFCavity::getFast(), RFCavity::initialise(), and RFCavity::setFast().

◆ field

AcceleratingField TravelingWaveRep::field
private

The cavity's field.

Definition at line 98 of file TravelingWaveRep.h.

Referenced by getAmplitude(), getField(), getField(), getFrequency(), getPhase(), setAmplitude(), setFrequency(), and setPhase().

◆ fieldmap_m

◆ filename_m

std::string RFCavity::filename_m
protectedinherited

◆ frequency_m

◆ frequencyName_m

std::string RFCavity::frequencyName_m
protectedinherited

◆ frequencyTD_m

std::shared_ptr<AbstractTimeDependence> RFCavity::frequencyTD_m
protectedinherited

Definition at line 203 of file RFCavity.h.

Referenced by RFCavity::getMomentaKick(), and RFCavity::setFrequencyModel().

◆ gapwidth_m

double RFCavity::gapwidth_m
privateinherited

◆ geometry

StraightGeometry TravelingWaveRep::geometry
private

The cavity's geometry.

Definition at line 95 of file TravelingWaveRep.h.

Referenced by getGeometry(), and getGeometry().

◆ ignoreCavities

bool TravelingWaveRep::ignoreCavities = false
staticprivate

Cavities are ignored (amplitude = 0) when this switch is set.

Definition at line 101 of file TravelingWaveRep.h.

Referenced by getAmplitude(), and setIgnore().

◆ mappedStartExitField_m

double TravelingWave::mappedStartExitField_m
privateinherited

◆ misalignment_m

CoordinateSystemTrafo ElementBase::misalignment_m
protectedinherited

Definition at line 438 of file ElementBase.h.

Referenced by ElementBase::getMisalignment(), and ElementBase::setMisalignment().

◆ mode_m

double TravelingWave::mode_m
privateinherited

◆ num_points_m

int RFCavity::num_points_m
privateinherited

Definition at line 240 of file RFCavity.h.

Referenced by RFCavity::initialise(), and RFCavity::spline().

◆ numCells_m

int TravelingWave::numCells_m
privateinherited

◆ online_m

◆ outputfn_m

std::string ElementBase::outputfn_m
privateinherited

The name of the outputfile

Definition at line 471 of file ElementBase.h.

Referenced by ElementBase::getOutputFN(), and ElementBase::setOutputFN().

◆ parmatint_m

ParticleMatterInteractionHandler* ElementBase::parmatint_m
privateinherited

◆ pdis_m

double RFCavity::pdis_m
privateinherited

Definition at line 233 of file RFCavity.h.

Referenced by RFCavity::getPerpenDistance(), and RFCavity::setPerpenDistance().

◆ periodLength_m

double TravelingWave::periodLength_m
privateinherited

◆ phase_m

◆ phaseCore1_m

◆ phaseCore2_m

◆ phaseError_m

double RFCavity::phaseError_m
protectedinherited

◆ phaseExit_m

◆ phaseName_m

std::string RFCavity::phaseName_m
protectedinherited

Definition at line 200 of file RFCavity.h.

Referenced by RFCavity::getPhaseModelName(), and RFCavity::setPhaseModelName().

◆ phaseTD_m

std::shared_ptr<AbstractTimeDependence> RFCavity::phaseTD_m
protectedinherited

Definition at line 199 of file RFCavity.h.

Referenced by RFCavity::setPhaseModel().

◆ phi0_m

double RFCavity::phi0_m
privateinherited

Definition at line 235 of file RFCavity.h.

Referenced by RFCavity::getMomentaKick(), RFCavity::getPhi0(), and RFCavity::setPhi0().

◆ positionIsFixed

bool ElementBase::positionIsFixed
privateinherited

◆ RefPartBunch_m

PartBunch_t* Component::RefPartBunch_m
protectedinherited

◆ rmax_m

double RFCavity::rmax_m
privateinherited

Definition at line 229 of file RFCavity.h.

Referenced by RFCavity::getMomentaKick(), RFCavity::getRmax(), and RFCavity::setRmax().

◆ rmin_m

double RFCavity::rmin_m
privateinherited

Definition at line 228 of file RFCavity.h.

Referenced by RFCavity::getMomentaKick(), RFCavity::getRmin(), and RFCavity::setRmin().

◆ RNormal_m

std::unique_ptr<double[]> RFCavity::RNormal_m
privateinherited

Definition at line 237 of file RFCavity.h.

Referenced by RFCavity::initialise(), and RFCavity::spline().

◆ rotationZAxis_m

double ElementBase::rotationZAxis_m
protectedinherited

◆ scale_m

◆ scaleCore_m

◆ scaleCoreError_m

double TravelingWave::scaleCoreError_m
privateinherited

◆ scaleError_m

◆ shareFlag

bool ElementBase::shareFlag
mutableprotectedinherited

◆ sinAngle_m

double RFCavity::sinAngle_m
privateinherited

◆ startCoreField_m

double TravelingWave::startCoreField_m
privateinherited

◆ startExitField_m

double TravelingWave::startExitField_m
privateinherited

◆ startField_m

◆ type_m

CavityType RFCavity::type_m
privateinherited

◆ userAttribs

AttributeSet ElementBase::userAttribs
privateinherited

Definition at line 456 of file ElementBase.h.

Referenced by ElementBase::getChannel(), and ElementBase::removeAttribute().

◆ VrNormal_m

std::unique_ptr<double[]> RFCavity::VrNormal_m
privateinherited

Definition at line 238 of file RFCavity.h.

Referenced by RFCavity::initialise(), and RFCavity::spline().

◆ wake_m

WakeFunction* ElementBase::wake_m
privateinherited

Definition at line 458 of file ElementBase.h.

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


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