33 "The \"VKICKER\" element defines a closed orbit corrector "
34 "acting on the vertical plane.") {
36 (
"KICK",
"Vertical deflection in rad");
38 (
"DESIGNENERGY",
"the mean energy of the particles");
40 (
"K0",
"Normal dipole field in T");
69 Inform m(
"fillRegisteredAttributes ");
89 <<
" Bx= " << field.
getBx()
105 corr->
setBx(kick * factor);
virtual ElementBase * removeAlignWrapper()
Remove align wrapper.
OpalVKicker()
Exemplar constructor.
virtual BDipoleField & getField()=0
Return the corrector field.
Interface for basic beam line object.
virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag)
Fill in all registered attributes.
The field of a magnetic dipole.
double getP0() const
Return value of global reference momentum.
virtual BDipoleField & errorField() const
Get corrector field error.
ValueFlag
Switch for value desired on ATTLIST command.
virtual ElementBase * removeWrappers()
Return the design element.
virtual void setElementLength(double length)
Set design length.
virtual double getBy() const
Get vertical component.
std::vector< Attribute > itsAttr
The object attributes (see Attribute.hh).
virtual void setDesignEnergy(const double &ekin, bool changeable=true)
static OpalData * getInstance()
static std::map< std::string, OwnPtr< AttCell > > attributeRegistry
The registry for named attributes.
virtual BDipoleField & getField()
Get corrector field.
constexpr double c
The velocity of light in m/s.
Base class for all beam line elements.
virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag)
Fill in all registered attributes.
virtual double getBx() const
Get horizontal component.
virtual const Corrector & getDesign() const
Get design corrector.
void setElement(ElementBase *)
Assign new CLASSIC element.
Vektor< double, 3 > Vector_t
void registerOwnership() const
virtual void update()
Update the embedded CLASSIC element.
virtual void updateUnknown(ElementBase *)
Transmit the ``unknown'' (not known to OPAL) attributes to CLASSIC.
Representation for a perturbed closed orbit corrector.
ElementBase * getElement() const
Return the embedded CLASSIC element.
virtual void update()
Update the embedded CLASSIC corrector.
virtual OpalVKicker * clone(const std::string &name)
Make clone.
double getReal(const Attribute &attr)
Return real value.
virtual void setBx(double)
Set horizontal field component in Teslas.
Attribute makeReal(const std::string &name, const std::string &help)
Make real attribute.
Representation for an orbit corrector.
static AttCell * registerRealAttribute(const std::string &name)
Register a ``real'' element attribute.
Inform & endl(Inform &inf)
void setKickField(const Vector_t &k0)