OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
PyOpal
PyObjects
PyOption.cpp
Go to the documentation of this file.
1
//
2
// Python API for Option
3
//
4
// Copyright (c) 2023, Chris Rogers, STFC Rutherford Appleton Laboratory, Didcot, UK
5
//
6
// This file is part of OPAL.
7
//
8
// OPAL is free software: you can redistribute it and/or modify
9
// it under the terms of the GNU General Public License as published by
10
// the Free Software Foundation, either version 3 of the License, or
11
// (at your option) any later version.
12
//
13
// You should have received a copy of the GNU General Public License
14
// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
15
//
16
17
#include "
PyOpal/PyCore/ExceptionTranslation.h
"
18
#include "
PyOpal/PyCore/Globals.h
"
19
#include "
PyOpal/PyCore/PyOpalObject.h
"
20
21
#include "
BasicActions/Option.h
"
22
23
namespace
PyOpal {
24
namespace
PyOptionNS {
25
26
// DOUBLE, STRING, BOOL, INT
27
template
<>
28
std::vector<PyOpalObjectNS::AttributeDef>
PyOpalObjectNS::PyOpalObject<Option>::attributes
= {
29
{
"ECHO"
,
"echo"
,
""
,
PyOpalObjectNS::BOOL
},
30
{
"INFO"
,
"info"
,
""
,
PyOpalObjectNS::BOOL
},
31
{
"TRACE"
,
"trace"
,
""
,
PyOpalObjectNS::BOOL
},
32
{
"WARN"
,
"warn"
,
""
,
PyOpalObjectNS::BOOL
},
33
{
"TELL"
,
"tell"
,
""
,
PyOpalObjectNS::BOOL
},
34
{
"SEED"
,
"seed"
,
""
,
PyOpalObjectNS::DOUBLE
},
35
{
"PSDUMPFREQ"
,
"ps_dump_frequency"
,
""
,
PyOpalObjectNS::DOUBLE
},
36
{
"STATDUMPFREQ"
,
"stat_dump_frequency"
,
""
,
PyOpalObjectNS::DOUBLE
},
37
{
"SCSOLVEFREQ"
,
"sc_solve_frequency"
,
""
,
PyOpalObjectNS::DOUBLE
},
38
{
"SPTDUMPFREQ"
,
"spt_dump_frequency"
,
""
,
PyOpalObjectNS::DOUBLE
},
39
{
"MTSSUBSTEPS"
,
"mts_substeps"
,
""
,
PyOpalObjectNS::DOUBLE
},
40
{
"REMOTEPARTDEL"
,
"remote_particle_delete"
,
""
,
PyOpalObjectNS::DOUBLE
},
41
{
"PSDUMPFRAME"
,
"ps_dump_frame"
,
""
,
PyOpalObjectNS::PREDEFINED_STRING
},
42
{
"REPARTFREQ"
,
"repartition_frequency"
,
""
,
PyOpalObjectNS::DOUBLE
},
43
{
"MINBINEMITTED"
,
"min_bin_emitted"
,
""
,
PyOpalObjectNS::DOUBLE
},
44
{
"MINSTEPFORREBIN"
,
"min_step_for_rebin"
,
""
,
PyOpalObjectNS::DOUBLE
},
45
{
"REBINFREQ"
,
"rebin_frequency"
,
""
,
PyOpalObjectNS::DOUBLE
},
46
{
"RHODUMP"
,
"rho_dump"
,
""
,
PyOpalObjectNS::BOOL
},
47
{
"EBDUMP"
,
"eb_dump"
,
""
,
PyOpalObjectNS::BOOL
},
48
{
"CSRDUMP"
,
"csr_dump"
,
""
,
PyOpalObjectNS::BOOL
},
49
{
"AUTOPHASE"
,
"autophase"
,
""
,
PyOpalObjectNS::DOUBLE
},
50
{
"CZERO"
,
"czero"
,
""
,
PyOpalObjectNS::BOOL
},
51
{
"RNGTYPE"
,
"rng_type"
,
""
,
PyOpalObjectNS::PREDEFINED_STRING
},
52
{
"CLOTUNEONLY"
,
"clo_tune_only"
,
""
,
PyOpalObjectNS::BOOL
},
53
{
"NUMBLOCKS"
,
"num_blocks"
,
""
,
PyOpalObjectNS::DOUBLE
},
54
{
"RECYCLEBLOCKS"
,
"recycle_blocks"
,
""
,
PyOpalObjectNS::DOUBLE
},
55
{
"NLHS"
,
"nlhs"
,
""
,
PyOpalObjectNS::DOUBLE
},
56
{
"ENABLEHDF5"
,
"enable_hdf5"
,
""
,
PyOpalObjectNS::BOOL
},
57
{
"ENABLEVTK"
,
"enable_vtk"
,
""
,
PyOpalObjectNS::BOOL
},
58
{
"ASCIIDUMP"
,
"ascii_dump"
,
""
,
PyOpalObjectNS::BOOL
},
59
{
"BOUNDPDESTROYFQ"
,
"bound_p_destroy"
,
""
,
PyOpalObjectNS::DOUBLE
},
60
{
"BEAMHALOBOUNDARY"
,
"beam_halo_boundary"
,
""
,
PyOpalObjectNS::DOUBLE
},
61
{
"IDEALIZED"
,
"idealized"
,
""
,
PyOpalObjectNS::BOOL
},
62
{
"LOGBENDTRAJECTORY"
,
"log_bend_trajectory"
,
""
,
PyOpalObjectNS::BOOL
},
63
{
"VERSION"
,
"version"
,
""
,
PyOpalObjectNS::DOUBLE
}
64
};
65
66
BOOST_PYTHON_MODULE
(option) {
67
ExceptionTranslation::registerExceptions
();
68
PyOpal::Globals::Initialise
();
69
PyOpalObjectNS::PyOpalObject<Option>
anOption;
70
auto
optionClass = anOption.
make_class
(
"Option"
);
71
anOption.
addExecute
(optionClass);
72
}
73
74
}
// PyBeamNS
75
}
// PyOpal
76
PyOpal::Globals::Initialise
void Initialise()
Definition:
Globals.cpp:50
PyOpal::PyOpalObjectNS::PyOpalObject::addExecute
void addExecute(PYCLASS &pyclass)
Definition:
PyOpalObject.h:761
ExceptionTranslation.h
Option.h
PyOpal::ExceptionTranslation::registerExceptions
void registerExceptions()
Definition:
ExceptionTranslation.cpp:23
Globals.h
PyOpal::PyOptionNS::BOOST_PYTHON_MODULE
BOOST_PYTHON_MODULE(option)
Definition:
PyOption.cpp:66
PyOpal::PyOpalObjectNS::PyOpalObject
Definition:
PyOpalObject.h:69
PyOpal::PyOpalObjectNS::PREDEFINED_STRING
Definition:
PyOpalObject.h:80
PyOpal::PyOpalObjectNS::DOUBLE
Definition:
PyOpalObject.h:81
PyOpal::PyOpalObjectNS::BOOL
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