OPAL (Object Oriented Parallel Accelerator Library)  2024.1
OPAL
PyAsymmetricEnge.cpp
Go to the documentation of this file.
5 
8 
9 namespace PyOpal {
10 namespace PyAsymmetricEnge {
11 
12 const char* module_docstring =
13 "asymmetric_enge module holds an AsymmetricEnge end field 'plugin' class for\n"
14 "use with field models\n";
15 
16 template <>
17 std::vector<PyOpalObjectNS::AttributeDef> PyOpalObjectNS::PyOpalObject<OpalAsymmetricEnge>::attributes = {
18  {"X0_START", "x0_start", "", PyOpalObjectNS::DOUBLE},
19  {"LAMBDA_START", "lambda_start", "", PyOpalObjectNS::DOUBLE},
20  {"COEFFICIENTS_START", "coefficients_start", "", PyOpalObjectNS::FLOAT_LIST},
21  {"X0_END", "x0_end", "", PyOpalObjectNS::DOUBLE},
22  {"LAMBDA_END", "lambda_end", "", PyOpalObjectNS::DOUBLE},
23  {"COEFFICIENTS_END", "coefficients_end", "", PyOpalObjectNS::FLOAT_LIST},
24 };
25 
26 template <>
28 "AsymmetricEnge class is a field plugin that models a AsymmetricEnge function.\n"
29 "\n"
30 "It is referenced and set to field elements by use of the OPAL name (note not\n"
31 "any python name). The OPAL name is set using 'set_opal_name'.\n";
32 
33 BOOST_PYTHON_MODULE(asymmetric_enge) {
37  auto elementClass = element.make_element_class("AsymmetricEnge");
38  elementClass.def("function", &PyOpal::PyEndFieldModel::function<OpalAsymmetricEnge>);
39  elementClass.def("update", &PyOpalObjectNS::update<OpalAsymmetricEnge>);
40 }
41 
42 }
43 }
void Initialise()
Definition: Globals.cpp:50
boost::python::class_< PyC > make_element_class(const char *className)
Definition: PyOpalObject.h:752
BOOST_PYTHON_MODULE(asymmetric_enge)