OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
PyBeam.cpp
Go to the documentation of this file.
4
5#include "Structure/Beam.h"
6
7namespace PyOpal {
8namespace PyBeamNS {
9
10// DOUBLE, STRING, BOOL, INT
11template <>
12std::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
27 PyOpalObjectNS::PyOpalObject<Beam> aBeam;
28 auto beamClass = aBeam.make_class("Beam");
29 aBeam.addRegister(beamClass);
30}
31
32} // PyBeamNS
33} // PyOpal
34
void Initialise()
Definition: Globals.cpp:78
BOOST_PYTHON_MODULE(beam)
Definition: PyBeam.cpp:35
static std::vector< AttributeDef > attributes
Definition: PyOpalObject.h:193