35 "The \"RFCAVITY\" element defines an RF cavity."),
39 (
"VOLT",
"RF voltage in MV");
41 (
"DVOLT",
"RF voltage error in MV");
43 (
"FREQ",
"RF frequency in MHz");
45 (
"LAG",
"Phase lag (rad)");
47 (
"DLAG",
"Phase lag error (rad)");
49 (
"HARMON",
"Harmonic number");
53 (
"PG",
"RF power in MW");
55 (
"SHUNT",
"Shunt impedance in MOhm");
57 (
"TFILL",
"Fill time in microseconds");
59 (
"FMAPFN",
"Filename of the fieldmap");
61 (
"GEOMETRY",
"BoundaryGeometry for Cavities");
63 (
"FAST",
"Faster but less accurate",
true);
65 (
"APVETO",
"Do not use this cavity in the Autophase procedure",
false);
67 (
"RMIN",
" Minimal Radius of a cyclotron cavity [mm]");
69 (
"RMAX",
" Maximal Radius of a cyclotron cavity [mm]");
71 (
"ANGLE",
"Azimuth position of a cyclotron cavity [deg]");
73 (
"PDIS",
"Shift distance of cavity gap from center of cyclotron [mm]");
75 (
"GAPWIDTH",
"Gap width of a cyclotron cavity [mm]");
77 (
"PHI0",
"Initial phase of cavity [deg]");
79 (
"DESIGNENERGY",
"the mean energy of the particles at exit", -1.0);
82 "The name of the phase time dependence model.");
84 "The name of the amplitude time dependence model.");
86 "The name of the frequency time dependence model.");
virtual std::string getFieldMapFN() const
virtual void update()
Update the embedded CLASSIC cavity.
virtual void setPhase(double phi)
Set phase.
virtual void setAmplitudeError(double vPeakError)
static AttCell * registerStringAttribute(const std::string &name)
Register a ``string'' element attribute.
Interface for basic beam line object.
void setRmin(double rmin)
virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag)
Fill in all registered attributes.
virtual void setAmplitude(double V)
Set amplitude.
ValueFlag
Switch for value desired on ATTLIST command.
void setPhaseModelName(std::string name)
constexpr double two_pi
The value of .
virtual void setFrequency(double f)
Set frequency.
virtual ElementBase * removeWrappers()
Return the design element.
virtual void setComponentType(std::string name) override
void setRmax(double rmax)
virtual void setElementLength(double length)
Set design length.
virtual void setAmplitudem(double vPeak)
virtual double getPhase() const
Get phase.
std::vector< Attribute > itsAttr
The object attributes (see Attribute.hh).
virtual void setFrequencym(double freq)
void setFrequencyModelName(std::string name)
void setCavityType(std::string type)
bool getBool(const Attribute &attr)
Return logical value.
void initWakefunction(ElementBase &element)
Representation for a RF cavity.
static std::map< std::string, OwnPtr< AttCell > > attributeRegistry
The registry for named attributes.
const std::string & getOpalName() const
Return object name.
virtual void setBoundaryGeometry(BoundaryGeometry *geo)
void setPhi0(double phi0)
BoundaryGeometry * obgeo_m
void setAzimuth(double angle)
static OpalWake * find(const std::string &name)
Find named WAKE.
static BoundaryGeometry * find(const std::string &name)
void setAmplitudeModelName(std::string name)
Base class for all beam line elements.
void setGapWidth(double gapwidth)
void setElement(ElementBase *)
Assign new CLASSIC element.
void registerOwnership() const
virtual void update()
Update the embedded CLASSIC element.
virtual void setFieldMapFN(std::string fmapfn)
Set the name of the field map.
virtual double getAmplitude() const
Get amplitude.
void setPerpenDistance(double pdis)
virtual void updateUnknown(ElementBase *)
Transmit the ``unknown'' (not known to OPAL) attributes to CLASSIC.
ElementBase * getElement() const
Return the embedded CLASSIC element.
virtual void setAutophaseVeto(bool veto=true)
virtual void setPhasem(double phase)
OpalCavity()
Exemplar constructor.
virtual void setFast(bool fast)
virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag)
Fill in all registered attributes.
Attribute makeBool(const std::string &name, const std::string &help)
Make logical attribute.
virtual OpalCavity * clone(const std::string &name)
Make clone.
virtual void setPhaseError(double phaseError)
virtual double getFrequency() const
Get frequency.
double getReal(const Attribute &attr)
Return real value.
virtual void setDesignEnergy(const double &ekin, bool changeable=true) override
Attribute makeString(const std::string &name, const std::string &help)
Make string attribute.
Attribute makeReal(const std::string &name, const std::string &help)
Make real attribute.
virtual void setWake(WakeFunction *wf)
attach a wake field to the element
static AttCell * registerRealAttribute(const std::string &name)
Register a ``real'' element attribute.
std::string getString(const Attribute &attr)
Get string value.