Repository navigation
Expand file tree
/
Copy pathReactionNumberBlock.python.cpp
More file actions
122 lines (101 loc) · 2.86 KB
/
Copy pathReactionNumberBlock.python.cpp
File metadata and controls
122 lines (101 loc) · 2.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
// system includes
#include <pybind11/pybind11.h>
#include <pybind11/stl.h>
// local includes
#include "ACEtk/continuous/ReactionNumberBlock.hpp"
#include "tools/views/views-python.hpp"
#include "definitions.hpp"
// namespace aliases
namespace python = pybind11;
namespace continuous {
void wrapReactionNumberBlock( python::module& module, python::module& ) {
// type aliases
using Block = njoy::ACEtk::continuous::ReactionNumberBlock;
// wrap views created by this block
// create the block
python::class_< Block > block(
module,
"ReactionNumberBlock",
"The continuous energy MTR block with the reaction MT numbers\n\n"
"The ReactionNumberBlock class contains the reaction MT numbers for all\n"
"available reactions (excluding elastic)\n\n"
"The number of available reactions (excluding elastic) is stored in NXS(4)."
);
// wrap the block
block
.def(
python::init< std::vector< unsigned int > >(),
python::arg( "reactions" ),
"Initialise the block\n\n"
"Arguments:\n"
" self the block\n"
" reactions the MT numbers"
)
.def_property_readonly(
"NTR",
&Block::NTR,
"The number of available reactions (excluding elastic)"
)
.def_property_readonly(
"number_reactions",
&Block::numberReactions,
"The number of available reactions (excluding elastic)"
)
.def(
"MT",
&Block::MT,
python::arg( "index" ),
"The reaction number for a reaction index\n\n"
"Arguments:\n"
" self the block\n"
" index the index (one-based)"
)
.def(
"reaction_number",
&Block::reactionNumber,
python::arg( "index" ),
"The reaction number for a reaction index\n\n"
"Arguments:\n"
" self the block\n"
" index the index (one-based)"
)
.def_property_readonly(
"MTs",
[] ( const Block& self ) -> UnsignedIntRange
{ return self.MTs(); },
"The reaction numbers"
)
.def_property_readonly(
"reaction_numbers",
[] ( const Block& self ) -> UnsignedIntRange
{ return self.reactionNumbers(); },
"The reaction numbers"
)
.def(
"has_MT",
&Block::hasMT,
python::arg( "reaction" ),
"Return whether or not the reaction number is present\n\n"
" self the block\n"
" reaction the reaction number"
)
.def(
"has_reaction_number",
&Block::hasReactionNumber,
python::arg( "reaction" ),
"Return whether or not the reaction number is present\n\n"
" self the block\n"
" reaction the reaction number"
)
.def(
"index",
&Block::index,
python::arg( "reaction" ),
"Return the index (one-based) of the reaction number\n\n"
" self the block\n"
" reaction the reaction number"
);
// add standard block definitions
addStandardBlockDefinitions< Block >( block );
}
} // continuous namespace