OPAL (Object Oriented Parallel Accelerator Library)
2022.1
OPAL
src
src
PyOpal
PyObjects
PyBeam.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
5
#include "
Structure/Beam.h
"
6
7
namespace
PyOpal
{
8
namespace
PyBeamNS {
9
10
// DOUBLE, STRING, BOOL, INT
11
template
<>
12
std::vector<PyOpalObjectNS::AttributeDef>
PyOpalObjectNS::PyOpalObject<Beam>::attributes
= {
13
{
"PARTICLE"
,
"particle"
,
""
,
PyOpalObjectNS::PREDEFINED_STRING
},
14
{
"MASS"
,
"mass"
,
""
,
PyOpalObjectNS::DOUBLE
},
15
{
"CHARGE"
,
"charge"
,
""
,
PyOpalObjectNS::DOUBLE
},
16
{
"ENERGY"
,
"energy"
,
""
,
PyOpalObjectNS::DOUBLE
},
17
{
"PC"
,
"momentum"
,
""
,
PyOpalObjectNS::DOUBLE
},
18
{
"GAMMA"
,
"gamma"
,
""
,
PyOpalObjectNS::DOUBLE
},
19
{
"BCURRENT"
,
"beam_current"
,
""
,
PyOpalObjectNS::DOUBLE
},
20
{
"BFREQ"
,
"beam_frequency"
,
""
,
PyOpalObjectNS::DOUBLE
},
21
{
"NPART"
,
"number_of_particles"
,
""
,
PyOpalObjectNS::DOUBLE
},
22
};
23
24
BOOST_PYTHON_MODULE
(beam) {
25
ExceptionTranslation::registerExceptions
();
26
PyOpal::Globals::Initialise
();
27
PyOpalObjectNS::PyOpalObject<Beam> aBeam;
28
auto
beamClass = aBeam.make_class(
"Beam"
);
29
aBeam.addRegister(beamClass);
30
}
31
32
}
// PyBeamNS
33
}
// PyOpal
34
Beam.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::PyBeamNS::BOOST_PYTHON_MODULE
BOOST_PYTHON_MODULE(beam)
Definition:
PyBeam.cpp:35
PyOpal::PyOpalObjectNS::DOUBLE
@ DOUBLE
Definition:
PyOpalObject.h:61
PyOpal::PyOpalObjectNS::PREDEFINED_STRING
@ PREDEFINED_STRING
Definition:
PyOpalObject.h:61
PyOpal::PyOpalObjectNS::PyOpalObject::attributes
static std::vector< AttributeDef > attributes
Definition:
PyOpalObject.h:193
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