OPAL (Object Oriented Parallel Accelerator Library)
2024.2
OPAL
src
PyOpal
PyElements
PyEnge.cpp
Go to the documentation of this file.
1
#include "
PyOpal/PyCore/ExceptionTranslation.h
"
2
#include "
PyOpal/PyCore/Globals.h
"
3
#include "
PyOpal/PyCore/PyOpalObject.h
"
4
#include "
PyOpal/PyElements/PyEndFieldModel.h
"
5
6
#include "
Classic/AbsBeamline/EndFieldModel/EndFieldModel.h
"
7
#include "
Elements/OpalEnge.h
"
8
9
namespace
PyOpal
{
10
template
<>
11
std::vector<PyOpalObjectNS::AttributeDef>
PyOpalObjectNS::PyOpalObject<OpalEnge>::attributes
= {
12
{
"X0"
,
"x0"
,
""
,
PyOpalObjectNS::DOUBLE
},
13
{
"LAMBDA"
,
"enge_lambda"
,
""
,
PyOpalObjectNS::DOUBLE
},
// lambda is a python reserved word
14
{
"COEFFICIENTS"
,
"coefficients"
,
""
,
PyOpalObjectNS::FLOAT_LIST
},
15
};
16
17
template
<>
18
std::string
PyOpalObjectNS::PyOpalObject<OpalEnge>::classDocstring
=
19
"Enge class is a field element that models a Enge function.\n"
20
"\n"
21
"It is referenced and set to field elements by use of the OPAL name (note not\n"
22
"any python name). The OPAL name is set/retrieved using 'set_opal_name' and\n"
23
"'get_opal_name' respectively.\n"
;
24
25
namespace
PyEnge {
26
27
const
char
*
module_docstring
=
28
"enge module holds an Enge end field 'plugin' class for use with field models\n"
;
29
30
BOOST_PYTHON_MODULE
(enge) {
31
PyOpal::Globals::Initialise
();
32
ExceptionTranslation::registerExceptions
();
33
PyOpalObjectNS::PyOpalObject<OpalEnge>
element;
34
auto
elementClass = element.
make_class
(
"Enge"
);
35
elementClass.def(
"function"
, &PyOpal::PyEndFieldModel::function<OpalEnge>);
36
elementClass.def(
"update"
, &PyOpalObjectNS::update<OpalEnge>);
37
}
38
39
}
// namespace PyEnge
40
}
// namespace PyOpal
EndFieldModel.h
PyEndFieldModel.h
PyOpalObject.h
Globals.h
ExceptionTranslation.h
OpalEnge.h
PyOpal
Definition
ExceptionTranslation.cpp:21
PyOpal::ExceptionTranslation::registerExceptions
void registerExceptions()
Definition
ExceptionTranslation.cpp:23
PyOpal::Globals::Initialise
void Initialise()
Definition
Globals.cpp:50
PyOpal::PyOpalObjectNS::FLOAT_LIST
@ FLOAT_LIST
Definition
PyOpalObject.h:81
PyOpal::PyOpalObjectNS::DOUBLE
@ DOUBLE
Definition
PyOpalObject.h:81
PyOpal::PyEnge::module_docstring
const char * module_docstring
Definition
PyEnge.cpp:27
PyOpal::PyEnge::BOOST_PYTHON_MODULE
BOOST_PYTHON_MODULE(enge)
Definition
PyEnge.cpp:30
PyOpal::PyOpalObjectNS::PyOpalObject
Definition
PyOpalObject.h:138
PyOpal::PyOpalObjectNS::PyOpalObject::make_class
boost::python::class_< PyC > make_class(const char *className)
Definition
PyOpalObject.h:745
Generated on Tue Apr 14 2026 07:18:46 for OPAL (Object Oriented Parallel Accelerator Library) by
1.9.8