30 "The \"RFCAVITY\" element defines an RF cavity."),
34 (
"VOLT",
"RF voltage in MV");
36 (
"DVOLT",
"RF voltage error in MV");
38 (
"FREQ",
"RF frequency in MHz");
40 (
"LAG",
"Phase lag (rad)");
42 (
"DLAG",
"Phase lag error (rad)");
44 (
"FMAPFN",
"Filename of the fieldmap");
46 (
"GEOMETRY",
"BoundaryGeometry for Cavities");
48 (
"FAST",
"Faster but less accurate",
true);
50 (
"APVETO",
"Do not use this cavity in the Autophase procedure",
false);
52 (
"RMIN",
" Minimal Radius of a cyclotron cavity [mm]");
54 (
"RMAX",
" Maximal Radius of a cyclotron cavity [mm]");
56 (
"ANGLE",
"Azimuth position of a cyclotron cavity [deg]");
58 (
"PDIS",
"Shift distance of cavity gap from center of cyclotron [mm]");
60 (
"GAPWIDTH",
"Gap width of a cyclotron cavity [mm]");
62 (
"PHI0",
"Initial phase of cavity [deg]");
64 (
"DESIGNENERGY",
"the mean energy of the particles at exit", -1.0);
67 "The name of the phase time dependence model.");
69 "The name of the amplitude time dependence model.");
71 "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.
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 setCavityType(std::string type)
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)
virtual void setComponentType(std::string name) override
void setPhi0(double phi0)
virtual void setFrequencym(double freq)
void setAzimuth(double angle)
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 setFieldMapFN(std::string fmapfn)
Set the name of the field map.
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)