OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
PyOpal
PyElements
PyOutputPlane.cpp
Go to the documentation of this file.
1
// Copyright (c) 2023, Chris Rogers
2
// All rights reserved
3
//
4
// This file is part of OPAL.
5
//
6
// OPAL is free software: you can redistribute it and/or modify
7
// it under the terms of the GNU General Public License as published by
8
// the Free Software Foundation, either version 3 of the License, or
9
// (at your option) any later version.
10
//
11
// You should have received a copy of the GNU General Public License
12
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
13
//
14
15
#include "
PyOpal/PyCore/ExceptionTranslation.h
"
16
#include "
PyOpal/PyCore/PyOpalObject.h
"
17
#include "
PyOpal/PyCore/Globals.h
"
18
19
#include "
Elements/OpalOutputPlane.h
"
20
21
namespace
PyOpal {
22
namespace
PyOutputPlane {
23
24
const
char
*
module_docstring
=
25
"output_plane contains the OutputPlane class"
;
26
27
template
<>
28
std::vector<PyOpalObjectNS::AttributeDef>
PyOpalObjectNS::PyOpalObject<OpalOutputPlane>::attributes
= {
29
{
"CENTRE"
,
"centre"
,
""
,
PyOpalObjectNS::FLOAT_LIST
},
30
{
"NORMAL"
,
"normal"
,
""
,
PyOpalObjectNS::FLOAT_LIST
},
31
{
"XSTART"
,
"x_start"
,
""
,
PyOpalObjectNS::DOUBLE
},
32
{
"XEND"
,
"x_end"
,
""
,
PyOpalObjectNS::DOUBLE
},
33
{
"YSTART"
,
"y_start"
,
""
,
PyOpalObjectNS::DOUBLE
},
34
{
"YEND"
,
"y_end"
,
""
,
PyOpalObjectNS::DOUBLE
},
35
{
"PLACEMENT_STYLE"
,
"placement_style"
,
""
,
PyOpalObjectNS::PREDEFINED_STRING
},
36
{
"ALGORITHM"
,
"algorithm"
,
""
,
PyOpalObjectNS::PREDEFINED_STRING
},
37
{
"TOLERANCE"
,
"tolerance"
,
""
,
PyOpalObjectNS::DOUBLE
},
38
{
"REFERENCE_ALIGNMENT_PARTICLE"
,
"reference_alignment_particle"
,
""
,
PyOpalObjectNS::INT
},
39
{
"OUTFN"
,
"output_filename"
,
""
,
PyOpalObjectNS::STRING
},
// OUTFN comes from OpalElement (yes, all elements can have a filename!)
40
{
"VERBOSE"
,
"verbose_level"
,
""
,
PyOpalObjectNS::INT
},
41
{
"WIDTH"
,
"width"
,
""
,
PyOpalObjectNS::DOUBLE
},
42
{
"HEIGHT"
,
"height"
,
""
,
PyOpalObjectNS::DOUBLE
},
43
{
"RADIUS"
,
"radius"
,
""
,
PyOpalObjectNS::DOUBLE
}
44
};
45
46
template
<>
47
std::string
PyOpalObjectNS::PyOpalObject<OpalOutputPlane>::classDocstring
=
48
"OutputPlane is used to generate output data based on particle tracks crossing a plane."
;
49
50
BOOST_PYTHON_MODULE
(output_plane) {
51
PyOpal::Globals::Initialise
();
52
ExceptionTranslation::registerExceptions
();
53
PyOpalObjectNS::PyOpalObject<OpalOutputPlane>
element;
54
auto
elementClass = element.
make_element_class
(
"OutputPlane"
);
55
}
56
57
}
58
}
PyOpal::PyOutputPlane::BOOST_PYTHON_MODULE
BOOST_PYTHON_MODULE(output_plane)
Definition:
PyOutputPlane.cpp:50
PyOpal::PyOpalObjectNS::STRING
Definition:
PyOpalObject.h:80
PyOpal::Globals::Initialise
void Initialise()
Definition:
Globals.cpp:50
PyOpal::PyOpalObjectNS::INT
Definition:
PyOpalObject.h:81
ExceptionTranslation.h
PyOpal::PyOpalObjectNS::FLOAT_LIST
Definition:
PyOpalObject.h:81
PyOpal::ExceptionTranslation::registerExceptions
void registerExceptions()
Definition:
ExceptionTranslation.cpp:23
Globals.h
PyOpal::PyOpalObjectNS::PyOpalObject::make_element_class
boost::python::class_< PyC > make_element_class(const char *className)
Definition:
PyOpalObject.h:752
PyOpal::PyOpalObjectNS::PyOpalObject
Definition:
PyOpalObject.h:69
PyOpal::PyOpalObjectNS::PREDEFINED_STRING
Definition:
PyOpalObject.h:80
PyOpal::PyOpalObjectNS::DOUBLE
Definition:
PyOpalObject.h:81
PyOpal::PyOutputPlane::module_docstring
const char * module_docstring
Definition:
PyOutputPlane.cpp:24
PyOpalObject.h
OpalOutputPlane.h
Generated on Tue Jul 2 2024 15:05:25 for OPAL (Object Oriented Parallel Accelerator Library) by
1.8.5