32 "The \"RFCAVITY\" element defines an RF cavity."),
36 (
"VOLT",
"RF voltage in MV");
38 (
"DVOLT",
"RF voltage error in MV");
40 (
"FREQ",
"RF frequency in MHz");
42 (
"LAG",
"Phase lag (rad)");
44 (
"DLAG",
"Phase lag error (rad)");
46 (
"FMAPFN",
"Filename of the fieldmap");
48 (
"GEOMETRY",
"BoundaryGeometry for Cavities");
50 (
"FAST",
"Faster but less accurate",
true);
52 (
"APVETO",
"Do not use this cavity in the Autophase procedure",
false);
54 (
"RMIN",
" Minimal Radius of a cyclotron cavity [mm]");
56 (
"RMAX",
" Maximal Radius of a cyclotron cavity [mm]");
58 (
"ANGLE",
"Azimuth position of a cyclotron cavity [deg]");
60 (
"PDIS",
"Shift distance of cavity gap from center of cyclotron [mm]");
62 (
"GAPWIDTH",
"Gap width of a cyclotron cavity [mm]");
64 (
"PHI0",
"Initial phase of cavity [deg]");
66 (
"DESIGNENERGY",
"the mean energy of the particles at exit", -1.0);
69 "The name of the phase time dependence model.");
71 "The name of the amplitude time dependence model.");
73 "The name of the frequency time dependence model.");
Attribute makeBool(const std::string &name, const std::string &help)
Make logical attribute.
double getReal(const Attribute &attr)
Return real value.
Attribute makeReal(const std::string &name, const std::string &help)
Make real attribute.
bool getBool(const Attribute &attr)
Return logical value.
std::string getString(const Attribute &attr)
Get string value.
Attribute makeString(const std::string &name, const std::string &help)
Make string attribute.
constexpr double two_pi
The value of.
constexpr double MVpm2Vpm
boost::function< boost::tuple< double, bool >(arguments_t)> type
ElementBase * getElement() const
Return the embedded CLASSIC element.
void setElement(ElementBase *)
Assign new CLASSIC element.
const std::string & getOpalName() const
Return object name.
std::vector< Attribute > itsAttr
The object attributes.
virtual void setBoundaryGeometry(BoundaryGeometry *geo)
virtual void setElementLength(double length)
Set design length.
virtual void setWake(WakeFunction *wf)
attach a wake field to the element
void setPerpenDistance(double pdis)
virtual void setAmplitudeError(double vPeakError)
void setPhaseModelName(std::string name)
void setRmin(double rmin)
void setFrequencyModelName(std::string name)
void setAmplitudeModelName(std::string name)
virtual void setAmplitudem(double vPeak)
virtual void setPhaseError(double phaseError)
virtual void setPhasem(double phase)
void setPhi0(double phi0)
virtual void setFrequencym(double freq)
virtual void setFieldMapFN(const std::string &fmapfn)
Set the name of the field map.
void setAzimuth(double angle)
void setCavityType(const std::string &type)
virtual void setAutophaseVeto(bool veto=true)
virtual void setDesignEnergy(const double &ekin, bool changeable=true) override
void setGapWidth(double gapwidth)
virtual void setFast(bool fast)
void setRmax(double rmax)
virtual void setPhase(double phi)
Set phase.
virtual void setFrequency(double f)
Set frequency.
virtual void setAmplitude(double V)
Set amplitude.
virtual OpalCavity * clone(const std::string &name)
Make clone.
virtual void update()
Update the embedded CLASSIC cavity.
BoundaryGeometry * obgeo_m
OpalCavity()
Exemplar constructor.
virtual void updateUnknown(ElementBase *)
Transmit the `‘unknown’' (not known to OPAL) attributes to CLASSIC.
virtual void update()
Update the embedded CLASSIC element.
void registerOwnership() const
static BoundaryGeometry * find(const std::string &name)
static OpalWake * find(const std::string &name)
Find named WAKE.
void initWakefunction(const ElementBase &element)