32 #include <boost/python.hpp> 33 #include "G4Version.hh" 34 #include "G4EmCalculator.hh" 35 #include "G4Region.hh" 36 #include "G4Material.hh" 37 #include "G4Element.hh" 38 #include "G4ParticleDefinition.hh" 39 #include "G4MaterialCutsCouple.hh" 50 (G4double,
const G4ParticleDefinition*,
const G4Material*,
const G4Region*)
51 = &G4EmCalculator::GetDEDX;
55 = &G4EmCalculator::GetDEDX;
61 (G4double, const G4ParticleDefinition*, const G4Material*, const G4Region*)
62 = &G4EmCalculator::GetRange;
66 = &G4EmCalculator::GetRange;
72 (G4double, const G4ParticleDefinition*, const G4Material*, const G4Region*)
73 = &G4EmCalculator::GetKinEnergy;
77 = &G4EmCalculator::GetKinEnergy;
83 (G4double, const G4ParticleDefinition*,
84 const
G4String&, const G4Material*, const G4Region*)
85 = &G4EmCalculator::GetCrossSectionPerVolume;
90 = &G4EmCalculator::GetCrossSectionPerVolume;
93 GetCrossSectionPerVolume, 4, 5)
96 G4double (G4EmCalculator::*f1_GetMeanFreePath)
97 (G4double, const G4ParticleDefinition*,
98 const
G4String&, const G4Material*, const G4Region*)
99 = &G4EmCalculator::GetMeanFreePath;
102 (G4double, const G4String&, const G4String&,
103 const G4String&, const G4String&)
104 = &G4EmCalculator::GetMeanFreePath;
107 GetMeanFreePath, 4, 5)
110 G4double (G4EmCalculator::*f1_ComputeDEDX)
111 (G4double, const G4ParticleDefinition*,
112 const G4String&, const G4Material*, G4double)
113 = &G4EmCalculator::ComputeDEDX;
116 (G4double, const G4String&, const G4String&, const G4String&, G4double)
117 = &G4EmCalculator::ComputeDEDX;
123 (G4double, const G4ParticleDefinition*, const G4Material*)
124 = &G4EmCalculator::ComputeNuclearDEDX;
127 (G4double, const G4String&, const G4String&)
128 = &G4EmCalculator::ComputeNuclearDEDX;
132 (G4double, const G4ParticleDefinition*, const G4Material*, G4double)
133 = &G4EmCalculator::ComputeElectronicDEDX;
136 (G4double, const G4String&, const G4String&, G4double)
137 = &G4EmCalculator::ComputeElectronicDEDX;
140 ComputeElectronicDEDX, 3, 4)
143 G4double (G4EmCalculator::*f1_ComputeTotalDEDX)
144 (G4double, const G4ParticleDefinition*, const G4Material*, G4double)
145 = &G4EmCalculator::ComputeTotalDEDX;
148 (G4double, const G4String&, const G4String&, G4double)
149 = &G4EmCalculator::ComputeTotalDEDX;
154 G4double (G4EmCalculator::*f1_ComputeCrossSectionPerVolume)
155 (G4double, const G4ParticleDefinition*,
156 const G4String&, const G4Material*, G4double)
157 = &G4EmCalculator::ComputeCrossSectionPerVolume;
160 (G4double, const G4String&, const G4String&, const G4String&, G4double)
161 = &G4EmCalculator::ComputeCrossSectionPerVolume;
164 ComputeCrossSectionPerVolume, 4, 5)
167 G4double (G4EmCalculator::*f1_ComputeCrossSectionPerAtom)
168 (G4double, const G4ParticleDefinition*, const G4String&,
169 G4double, G4double, G4double)
173 (G4double, const G4String&, const G4String&, const G4Element*, G4double)
174 = &G4EmCalculator::ComputeCrossSectionPerAtom;
177 ComputeCrossSectionPerAtom, 5, 6)
180 ComputeCrossSectionPerAtom, 4, 5)
184 (G4double, const G4ParticleDefinition*, const G4Material*)
185 = &G4EmCalculator::ComputeEnergyCutFromRangeCut;
188 (G4double range, const G4String&, const G4String&)
189 = &G4EmCalculator::ComputeEnergyCutFromRangeCut;
193 (G4double, const G4ParticleDefinition*,
194 const G4String&, const G4Material*, G4double)
195 = &G4EmCalculator::ComputeMeanFreePath;
198 (G4double, const G4String&, const G4String&, const G4String&, G4double)
199 = &G4EmCalculator::ComputeMeanFreePath;
202 ComputeMeanFreePath, 4, 5)
216 class_<G4EmCalculator, boost::noncopyable>
217 (
"G4EmCalculator",
"Provide access to dE/dx and cross section")
225 .def(
"GetCrossSectionPerVolume",
227 .def(
"GetCrossSectionPerVolume",
229 .def(
"GetMeanFreePath", f1_GetMeanFreePath, f_GetMeanFreePath())
232 .def(
"PrintDEDXTable", &G4EmCalculator::PrintDEDXTable)
233 .def(
"PrintRangeTable", &G4EmCalculator::PrintRangeTable)
234 .def(
"PrintInverseRangeTable", &G4EmCalculator::PrintInverseRangeTable)
236 .def(
"ComputeDEDX", f1_ComputeDEDX, f_ComputeDEDX())
241 f_ComputeElectronicDEDX())
243 f_ComputeElectronicDEDX())
244 .def(
"ComputeTotalDEDX", f1_ComputeTotalDEDX, f_ComputeTotalDEDX())
247 .def(
"ComputeCrossSectionPerVolume",
248 f1_ComputeCrossSectionPerVolume, f_ComputeCrossSectionPerVolume())
249 .def(
"ComputeCrossSectionPerVolume",
251 .def(
"ComputeCrossSectionPerAtom",
252 f1_ComputeCrossSectionPerAtom, f_ComputeCrossSectionPerAtom())
253 .def(
"ComputeCrossSectionPerAtom",
258 .def(
"ComputeMeanFreePath",
260 .def(
"ComputeMeanFreePath",
263 .def(
"FindParticle", &G4EmCalculator::FindParticle,
264 return_value_policy<reference_existing_object>())
265 .def(
"FindMaterial", &G4EmCalculator::FindMaterial,
266 return_value_policy<reference_existing_object>())
267 .def(
"FindRegion", &G4EmCalculator::FindRegion,
268 return_value_policy<reference_existing_object>())
269 .def(
"FindCouple", &G4EmCalculator::FindCouple,
270 f_FindCouple()[return_value_policy<reference_existing_object>()])
272 .def(
"SetVerbose", &G4EmCalculator::SetVerbose)
G4double(G4EmCalculator::* f1_GetKinEnergy)(G4double, const G4ParticleDefinition *, const G4Material *, const G4Region *)
G4double(G4EmCalculator::* f1_ComputeNuclearDEDX)(G4double, const G4ParticleDefinition *, const G4Material *)
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_GetCrossSectionPerVolume, GetCrossSectionPerVolume, 4, 5) G4double(G4EmCalculator G4double(G4EmCalculator::* f2_GetMeanFreePath)(G4double, const G4String &, const G4String &, const G4String &, const G4String &)
G4double(G4EmCalculator::* f1_GetRange)(G4double, const G4ParticleDefinition *, const G4Material *, const G4Region *)
G4double(G4EmCalculator::* f2_GetCrossSectionPerVolume)(G4double, const G4String &, const G4String &, const G4String &, const G4String &)
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_GetMeanFreePath, GetMeanFreePath, 4, 5) G4double(G4EmCalculator G4double(G4EmCalculator::* f2_ComputeDEDX)(G4double, const G4String &, const G4String &, const G4String &, G4double)
G4double(G4EmCalculator::* f2_GetKinEnergy)(G4double, const G4String &, const G4String &, const G4String &)
G4double(G4EmCalculator::* f2_GetDEDX)(G4double, const G4String &, const G4String &, const G4String &)
G4double(G4EmCalculator::* f2_ComputeElectronicDEDX)(G4double, const G4String &, const G4String &, G4double)
G4double(G4EmCalculator::* f1_ComputeElectronicDEDX)(G4double, const G4ParticleDefinition *, const G4Material *, G4double)
G4double(G4EmCalculator::* f2_ComputeMeanFreePath)(G4double, const G4String &, const G4String &, const G4String &, G4double)
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ComputeCrossSectionPerAtom, ComputeCrossSectionPerAtom, 5, 6) BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(g_ComputeCrossSectionPerAtom
G4double(G4EmCalculator::* f2_GetRange)(G4double, const G4String &, const G4String &, const G4String &)
G4double(G4EmCalculator::* f2_ComputeEnergyCutFromRangeCut)(G4double range, const G4String &, const G4String &)
G4double(G4EmCalculator::* f1_ComputeMeanFreePath)(G4double, const G4ParticleDefinition *, const G4String &, const G4Material *, G4double)
G4double(G4EmCalculator::* f1_ComputeEnergyCutFromRangeCut)(G4double, const G4ParticleDefinition *, const G4Material *)
ComputeCrossSectionPerAtom
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ComputeTotalDEDX, ComputeTotalDEDX, 3, 4) G4double(G4EmCalculator G4double(G4EmCalculator::* f2_ComputeCrossSectionPerVolume)(G4double, const G4String &, const G4String &, const G4String &, G4double)
G4double(G4EmCalculator::* f1_GetDEDX)(G4double, const G4ParticleDefinition *, const G4Material *, const G4Region *)
G4double(G4EmCalculator::* f2_ComputeNuclearDEDX)(G4double, const G4String &, const G4String &)
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ComputeElectronicDEDX, ComputeElectronicDEDX, 3, 4) G4double(G4EmCalculator G4double(G4EmCalculator::* f2_ComputeTotalDEDX)(G4double, const G4String &, const G4String &, G4double)
void export_G4EmCalculator()
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ComputeCrossSectionPerVolume, ComputeCrossSectionPerVolume, 4, 5) G4double(G4EmCalculator G4double(G4EmCalculator::* f2_ComputeCrossSectionPerAtom)(G4double, const G4String &, const G4String &, const G4Element *, G4double)
G4double(G4EmCalculator::* f1_GetCrossSectionPerVolume)(G4double, const G4ParticleDefinition *, const G4String &, const G4Material *, const G4Region *)