32 #include <boost/python.hpp>
93 GetCrossSectionPerVolume, 4, 5)
102 (G4double, const G4String&, const G4String&,
103 const G4String&, const G4String&)
107 GetMeanFreePath, 4, 5)
111 (G4double, const G4ParticleDefinition*,
112 const G4String&, const G4Material*, G4double)
116 (G4double, const G4String&, const G4String&, const G4String&, G4double)
123 (G4double, const G4ParticleDefinition*, const G4Material*)
127 (G4double, const G4String&, const G4String&)
132 (G4double, const G4ParticleDefinition*, const G4Material*, G4double)
136 (G4double, const G4String&, const G4String&, G4double)
140 ComputeElectronicDEDX, 3, 4)
144 (G4double, const G4ParticleDefinition*, const G4Material*, G4double)
148 (G4double, const G4String&, const G4String&, G4double)
155 (G4double, const G4ParticleDefinition*,
156 const G4String&, const G4Material*, G4double)
160 (G4double, const G4String&, const G4String&, const G4String&, G4double)
164 ComputeCrossSectionPerVolume, 4, 5)
168 (G4double, const G4ParticleDefinition*, const G4String&,
169 G4double, G4double, G4double)
173 (G4double, const G4String&, const G4String&, const
G4Element*, G4double)
177 ComputeCrossSectionPerAtom, 5, 6)
180 ComputeCrossSectionPerAtom, 4, 5)
184 (G4double, const G4ParticleDefinition*, const G4Material*)
188 (G4double range, const G4String&, const G4String&)
193 (G4double, const G4ParticleDefinition*,
194 const G4String&, const G4Material*, G4double)
198 (G4double, const G4String&, const G4String&, const G4String&, G4double)
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())
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",
264 return_value_policy<reference_existing_object>())
266 return_value_policy<reference_existing_object>())
268 return_value_policy<reference_existing_object>())
270 f_FindCouple()[return_value_policy<reference_existing_object>()])
const G4MaterialCutsCouple * FindCouple(const G4Material *, const G4Region *r=nullptr)
G4double(G4EmCalculator::* f2_GetCrossSectionPerVolume)(G4double, const G4String &, const G4String &, const G4String &, const G4String &)
const G4Material * FindMaterial(const G4String &)
G4double(G4EmCalculator::* f1_ComputeMeanFreePath)(G4double, const G4ParticleDefinition *, const G4String &, const G4Material *, G4double)
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_GetMeanFreePath, GetMeanFreePath, 4, 5) G4double(G4EmCalculator G4double(G4EmCalculator::* f2_ComputeDEDX)(G4double, const G4String &, const G4String &, const G4String &, G4double)
void PrintRangeTable(const G4ParticleDefinition *)
void export_G4EmCalculator()
void PrintInverseRangeTable(const G4ParticleDefinition *)
G4double(G4EmCalculator::* f2_ComputeEnergyCutFromRangeCut)(G4double range, const G4String &, const G4String &)
G4double(G4EmCalculator::* f1_GetKinEnergy)(G4double, const G4ParticleDefinition *, const G4Material *, const G4Region *)
G4double(G4EmCalculator::* f1_GetDEDX)(G4double, const G4ParticleDefinition *, const G4Material *, const G4Region *)
G4double(G4EmCalculator::* f2_GetDEDX)(G4double, const G4String &, const G4String &, const G4String &)
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ComputeCrossSectionPerAtom, ComputeCrossSectionPerAtom, 5, 6) BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(g_ComputeCrossSectionPerAtom
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ComputeElectronicDEDX, ComputeElectronicDEDX, 3, 4) G4double(G4EmCalculator G4double(G4EmCalculator::* f2_ComputeTotalDEDX)(G4double, const G4String &, const G4String &, G4double)
G4double(G4EmCalculator::* f1_GetRange)(G4double, const G4ParticleDefinition *, const G4Material *, const G4Region *)
G4double GetDEDX(G4double kinEnergy, const G4ParticleDefinition *, const G4Material *, const G4Region *r=nullptr)
G4double(G4EmCalculator::* f2_ComputeElectronicDEDX)(G4double, const G4String &, const G4String &, G4double)
G4double(G4EmCalculator::* f2_ComputeMeanFreePath)(G4double, const G4String &, const G4String &, const G4String &, G4double)
G4double(G4EmCalculator::* f2_ComputeNuclearDEDX)(G4double, const G4String &, const G4String &)
ComputeCrossSectionPerAtom
G4double(G4EmCalculator::* f1_ComputeElectronicDEDX)(G4double, const G4ParticleDefinition *, const G4Material *, G4double)
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::* f2_GetKinEnergy)(G4double, const G4String &, const G4String &, const G4String &)
const G4ParticleDefinition * FindParticle(const G4String &)
const G4Region * FindRegion(const G4String &)
G4double(G4EmCalculator::* f1_GetCrossSectionPerVolume)(G4double, const G4ParticleDefinition *, const G4String &, const G4Material *, const G4Region *)
G4double(G4EmCalculator::* f1_ComputeEnergyCutFromRangeCut)(G4double, const G4ParticleDefinition *, const G4Material *)
void SetVerbose(G4int val)
void PrintDEDXTable(const G4ParticleDefinition *)
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ComputeCrossSectionPerVolume, ComputeCrossSectionPerVolume, 4, 5) G4double(G4EmCalculator G4double(G4EmCalculator::* f2_ComputeCrossSectionPerAtom)(G4double, const G4String &, const G4String &, const G4Element *, G4double)
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::* f2_GetRange)(G4double, const G4String &, const G4String &, const G4String &)
G4double(G4EmCalculator::* f1_ComputeNuclearDEDX)(G4double, const G4ParticleDefinition *, const G4Material *)