OPAL (Object Oriented Parallel Accelerator Library)
2022.1
OPAL
src
src
PyOpal
PyElements
PyRingDefinition.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
5
#include "
Elements/OpalRingDefinition.h
"
6
7
//using namespace boost::python;
8
namespace
PyOpal
{
9
namespace
PyRingDefinition {
10
11
std::string
ring_definition_docstring
= std::string();
12
13
14
const
char
*
module_docstring
=
"build a ring_definition"
;
15
16
template
<>
17
std::vector<PyOpalObjectNS::AttributeDef>
PyOpalObjectNS::PyOpalObject<OpalRingDefinition>::attributes
= {
18
{
"LAT_RINIT"
,
"lattice_initial_r"
,
""
,
PyOpalObjectNS::DOUBLE
},
19
{
"LAT_PHIINIT"
,
"lattice_initial_phi"
,
""
,
PyOpalObjectNS::DOUBLE
},
20
{
"LAT_THETAINIT"
,
"lattice_initial_theta"
,
""
,
PyOpalObjectNS::DOUBLE
},
21
{
"BEAM_RINIT"
,
"beam_initial_r"
,
""
,
PyOpalObjectNS::DOUBLE
},
22
{
"BEAM_PHIINIT"
,
"beam_initial_phi"
,
""
,
PyOpalObjectNS::DOUBLE
},
23
{
"BEAM_PRINIT"
,
"beam_initial_pr"
,
""
,
PyOpalObjectNS::DOUBLE
},
24
{
"HARMONIC_NUMBER"
,
"harmonic_number"
,
""
,
PyOpalObjectNS::DOUBLE
},
25
{
"SYMMETRY"
,
"symmetry"
,
""
,
PyOpalObjectNS::INT
},
26
{
"SCALE"
,
"scale"
,
""
,
PyOpalObjectNS::DOUBLE
},
27
{
"RFFREQ"
,
"rf_frequency"
,
""
,
PyOpalObjectNS::DOUBLE
},
28
{
"IS_CLOSED"
,
"is_closed"
,
""
,
PyOpalObjectNS::BOOL
},
// BUG in underlying code
29
{
"MIN_R"
,
"minimum_r"
,
""
,
PyOpalObjectNS::DOUBLE
},
30
{
"MAX_R"
,
"maximum_r"
,
""
,
PyOpalObjectNS::DOUBLE
},
31
};
32
33
template
<>
34
std::string
PyOpalObjectNS::PyOpalObject<OpalRingDefinition>::classDocstring
=
""
;
35
36
BOOST_PYTHON_MODULE
(ring_definition) {
37
PyOpal::Globals::Initialise
();
38
ExceptionTranslation::registerExceptions
();
39
PyOpalObjectNS::PyOpalObject<OpalRingDefinition> element;
40
auto
elementClass = element.make_class(
"RingDefinition"
);
41
element.addGetOpalElement(elementClass);
42
element.addGetFieldValue(elementClass, 1.0, 1.0, 1.0, 1
e
-1);
43
}
44
45
}
46
}
OpalRingDefinition.h
PyOpal
Definition:
ExceptionTranslation.cpp:5
PyOpal::ExceptionTranslation::registerExceptions
void registerExceptions()
Definition:
ExceptionTranslation.cpp:7
PyOpal::Globals::Initialise
void Initialise()
Definition:
Globals.cpp:78
PyOpal::PyOpalObjectNS::BOOL
@ BOOL
Definition:
PyOpalObject.h:61
PyOpal::PyOpalObjectNS::DOUBLE
@ DOUBLE
Definition:
PyOpalObject.h:61
PyOpal::PyOpalObjectNS::INT
@ INT
Definition:
PyOpalObject.h:61
PyOpal::PyRingDefinition::module_docstring
const char * module_docstring
Definition:
PyRingDefinition.cpp:14
PyOpal::PyRingDefinition::BOOST_PYTHON_MODULE
BOOST_PYTHON_MODULE(ring_definition)
Definition:
PyRingDefinition.cpp:36
PyOpal::PyRingDefinition::ring_definition_docstring
std::string ring_definition_docstring
Definition:
PyRingDefinition.cpp:11
Physics::e
constexpr double e
The value of.
Definition:
Physics.h:39
PyOpal::PyOpalObjectNS::PyOpalObject::attributes
static std::vector< AttributeDef > attributes
Definition:
PyOpalObject.h:193
PyOpal::PyOpalObjectNS::PyOpalObject::classDocstring
static std::string classDocstring
Definition:
PyOpalObject.h:194
ExceptionTranslation.h
Globals.h
PyOpalObject.h
Generated on Thu Oct 20 2022 17:40:11 for OPAL (Object Oriented Parallel Accelerator Library) by
1.9.3