OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
PyOpal
PyElements
PyEnge.cpp
Go to the documentation of this file.
1
#include "
PyOpal/PyCore/ExceptionTranslation.h
"
2
#include "
PyOpal/PyCore/PyOpalObject.h
"
3
#include "
PyOpal/PyCore/Globals.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
namespace
PyEnge {
11
12
const
char
*
module_docstring
=
13
"enge module holds an Enge end field 'plugin' class for use with field models\n"
;
14
15
template
<>
16
std::vector<PyOpalObjectNS::AttributeDef>
PyOpalObjectNS::PyOpalObject<OpalEnge>::attributes
= {
17
{
"X0"
,
"x0"
,
""
,
PyOpalObjectNS::DOUBLE
},
18
{
"LAMBDA"
,
"enge_lambda"
,
""
,
PyOpalObjectNS::DOUBLE
},
// lambda is a python reserved word
19
{
"COEFFICIENTS"
,
"coefficients"
,
""
,
PyOpalObjectNS::FLOAT_LIST
},
20
};
21
22
template
<>
23
std::string
PyOpalObjectNS::PyOpalObject<OpalEnge>::classDocstring
=
24
"Enge class is a field element that models a Enge function.\n"
25
"\n"
26
"It is referenced and set to field elements by use of the OPAL name (note not\n"
27
"any python name). The OPAL name is set/retrieved using 'set_opal_name' and\n"
28
"'get_opal_name' respectively.\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
}
40
}
PyOpal::Globals::Initialise
void Initialise()
Definition:
Globals.cpp:50
ExceptionTranslation.h
PyOpal::PyOpalObjectNS::FLOAT_LIST
Definition:
PyOpalObject.h:81
OpalEnge.h
PyOpal::PyEnge::BOOST_PYTHON_MODULE
BOOST_PYTHON_MODULE(enge)
Definition:
PyEnge.cpp:30
PyOpal::ExceptionTranslation::registerExceptions
void registerExceptions()
Definition:
ExceptionTranslation.cpp:23
EndFieldModel.h
Globals.h
PyEndFieldModel.h
PyOpal::PyOpalObjectNS::PyOpalObject
Definition:
PyOpalObject.h:69
PyOpal::PyEnge::module_docstring
const char * module_docstring
Definition:
PyEnge.cpp:12
PyOpal::PyOpalObjectNS::DOUBLE
Definition:
PyOpalObject.h:81
PyOpal::PyOpalObjectNS::PyOpalObject::make_class
boost::python::class_< PyC > make_class(const char *className)
Definition:
PyOpalObject.h:745
PyOpalObject.h
Generated on Tue Jul 2 2024 15:05:25 for OPAL (Object Oriented Parallel Accelerator Library) by
1.8.5