38 std::vector<PyOpalObjectNS::AttributeDef>
58 "ScalingFFAMagnet class is a field element that models a Scaling FFA magnet.";
60 namespace PyScalingFFAMagnet {
62 const char*
module_docstring =
"scaling_ffa_magnet contains the ScalingFFAMagnet class";
65 "Check for changes to the EndFieldModel and update the ScalingFFAMagnet "
67 "This is done automatically the first time the ScalingFFAMagnet is used but not for\n"
68 "subsequent uses. WARNING: if user changes the end field model, user must call\n"
69 "'update_end_field' manually to load the new parameters.\n"
71 "May throw RuntimeError if the EndFieldModel is not valid or cannot be found.\n"
constexpr double e
The value of.
void registerExceptions()
Register exception translations with boost.
void Initialise()
Globals namespace provides routines to initialise global objects:
BOOST_PYTHON_MODULE(scaling_ffa_magnet)
std::string update_docstr
const char * module_docstring
Sector bending magnet with an FFA-style field index and spiral end shape.
void setupEndField()
setupEndField does some end field and geometry set-up
PyOpalObject<C> is the basic wrapper class for Opal Objects.
void addGetFieldValue(PYCLASS &pyclass, double distanceUnits, double timeUnits, double bfieldUnits, double efieldUnits)
Add a "get_field_value" method to the python class (for elements that expose a field)
virtual void doSetup()
Overload the method to perform any additional setup that can be made before the OpalObject is accesse...
boost::python::class_< PyC > make_element_class(const char *className)
This is the basic method to make a class for elements.