LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
pyG4EmCalculator.cc File Reference
#include <boost/python.hpp>
#include "G4Version.hh"
#include "G4EmCalculator.hh"
#include "G4Region.hh"
#include "G4Material.hh"
#include "G4Element.hh"
#include "G4ParticleDefinition.hh"
#include "G4MaterialCutsCouple.hh"

Go to the source code of this file.

Namespaces

 pyG4EmCalculator
 

Functions

 pyG4EmCalculator::BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS (f_ComputeCrossSectionPerAtom, ComputeCrossSectionPerAtom, 5, 6) BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(g_ComputeCrossSectionPerAtom
 
void export_G4EmCalculator ()
 

Variables

G4double(G4EmCalculator::* pyG4EmCalculator::f1_GetDEDX )(G4double, const G4ParticleDefinition *, const G4Material *, const G4Region *) = &G4EmCalculator::GetDEDX
 
G4double(G4EmCalculator::* pyG4EmCalculator::f2_GetDEDX )(G4double, const G4String &, const G4String &, const G4String &) = &G4EmCalculator::GetDEDX
 
G4double(G4EmCalculator::* pyG4EmCalculator::f1_GetRange )(G4double, const G4ParticleDefinition *, const G4Material *, const G4Region *) = &G4EmCalculator::GetRange
 
G4double(G4EmCalculator::* pyG4EmCalculator::f2_GetRange )(G4double, const G4String &, const G4String &, const G4String &) = &G4EmCalculator::GetRange
 
G4double(G4EmCalculator::* pyG4EmCalculator::f1_GetKinEnergy )(G4double, const G4ParticleDefinition *, const G4Material *, const G4Region *) = &G4EmCalculator::GetKinEnergy
 
G4double(G4EmCalculator::* pyG4EmCalculator::f2_GetKinEnergy )(G4double, const G4String &, const G4String &, const G4String &) = &G4EmCalculator::GetKinEnergy
 
G4double(G4EmCalculator::* pyG4EmCalculator::f1_GetCrossSectionPerVolume )(G4double, const G4ParticleDefinition *, const G4String &, const G4Material *, const G4Region *) = &G4EmCalculator::GetCrossSectionPerVolume
 
G4double(G4EmCalculator::* pyG4EmCalculator::f2_GetCrossSectionPerVolume )(G4double, const G4String &, const G4String &, const G4String &, const G4String &) = &G4EmCalculator::GetCrossSectionPerVolume
 
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_GetCrossSectionPerVolume, GetCrossSectionPerVolume, 4, 5) G4double(G4EmCalculator G4double(G4EmCalculator::* pyG4EmCalculator::f2_GetMeanFreePath )(G4double, const G4String &, const G4String &, const G4String &, const G4String &) = &G4EmCalculator::GetMeanFreePath
 
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_GetMeanFreePath, GetMeanFreePath, 4, 5) G4double(G4EmCalculator G4double(G4EmCalculator::* pyG4EmCalculator::f2_ComputeDEDX )(G4double, const G4String &, const G4String &, const G4String &, G4double) = &G4EmCalculator::ComputeDEDX
 
G4double(G4EmCalculator::* pyG4EmCalculator::f1_ComputeNuclearDEDX )(G4double, const G4ParticleDefinition *, const G4Material *) = &G4EmCalculator::ComputeNuclearDEDX
 
G4double(G4EmCalculator::* pyG4EmCalculator::f2_ComputeNuclearDEDX )(G4double, const G4String &, const G4String &) = &G4EmCalculator::ComputeNuclearDEDX
 
G4double(G4EmCalculator::* pyG4EmCalculator::f1_ComputeElectronicDEDX )(G4double, const G4ParticleDefinition *, const G4Material *, G4double) = &G4EmCalculator::ComputeElectronicDEDX
 
G4double(G4EmCalculator::* pyG4EmCalculator::f2_ComputeElectronicDEDX )(G4double, const G4String &, const G4String &, G4double) = &G4EmCalculator::ComputeElectronicDEDX
 
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ComputeElectronicDEDX, ComputeElectronicDEDX, 3, 4) G4double(G4EmCalculator G4double(G4EmCalculator::* pyG4EmCalculator::f2_ComputeTotalDEDX )(G4double, const G4String &, const G4String &, G4double) = &G4EmCalculator::ComputeTotalDEDX
 
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ComputeTotalDEDX, ComputeTotalDEDX, 3, 4) G4double(G4EmCalculator G4double(G4EmCalculator::* pyG4EmCalculator::f2_ComputeCrossSectionPerVolume )(G4double, const G4String &, const G4String &, const G4String &, G4double) = &G4EmCalculator::ComputeCrossSectionPerVolume
 
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ComputeCrossSectionPerVolume, ComputeCrossSectionPerVolume, 4, 5) G4double(G4EmCalculator G4double(G4EmCalculator::* pyG4EmCalculator::f2_ComputeCrossSectionPerAtom )(G4double, const G4String &, const G4String &, const G4Element *, G4double) = &G4EmCalculator::ComputeCrossSectionPerAtom
 
 pyG4EmCalculator::ComputeCrossSectionPerAtom
 
G4double(G4EmCalculator::* pyG4EmCalculator::f1_ComputeEnergyCutFromRangeCut )(G4double, const G4ParticleDefinition *, const G4Material *) = &G4EmCalculator::ComputeEnergyCutFromRangeCut
 
G4double(G4EmCalculator::* pyG4EmCalculator::f2_ComputeEnergyCutFromRangeCut )(G4double range, const G4String &, const G4String &) = &G4EmCalculator::ComputeEnergyCutFromRangeCut
 
G4double(G4EmCalculator::* pyG4EmCalculator::f1_ComputeMeanFreePath )(G4double, const G4ParticleDefinition *, const G4String &, const G4Material *, G4double) = &G4EmCalculator::ComputeMeanFreePath
 
G4double(G4EmCalculator::* pyG4EmCalculator::f2_ComputeMeanFreePath )(G4double, const G4String &, const G4String &, const G4String &, G4double) = &G4EmCalculator::ComputeMeanFreePath
 

Function Documentation

void export_G4EmCalculator ( )

Definition at line 213 of file pyG4EmCalculator.cc.

References pyG4EmCalculator::f1_ComputeElectronicDEDX, pyG4EmCalculator::f1_ComputeEnergyCutFromRangeCut, pyG4EmCalculator::f1_ComputeMeanFreePath, pyG4EmCalculator::f1_ComputeNuclearDEDX, pyG4EmCalculator::f1_GetCrossSectionPerVolume, pyG4EmCalculator::f1_GetDEDX, pyG4EmCalculator::f1_GetKinEnergy, pyG4EmCalculator::f1_GetRange, pyG4EmCalculator::f2_ComputeCrossSectionPerAtom, pyG4EmCalculator::f2_ComputeCrossSectionPerVolume, pyG4EmCalculator::f2_ComputeDEDX, pyG4EmCalculator::f2_ComputeElectronicDEDX, pyG4EmCalculator::f2_ComputeEnergyCutFromRangeCut, pyG4EmCalculator::f2_ComputeMeanFreePath, pyG4EmCalculator::f2_ComputeNuclearDEDX, pyG4EmCalculator::f2_ComputeTotalDEDX, pyG4EmCalculator::f2_GetCrossSectionPerVolume, pyG4EmCalculator::f2_GetDEDX, pyG4EmCalculator::f2_GetKinEnergy, and pyG4EmCalculator::f2_GetMeanFreePath.

Referenced by BOOST_PYTHON_MODULE().

214 {
215  class_<G4EmCalculator, boost::noncopyable>
216  ("G4EmCalculator", "Provide access to dE/dx and cross section")
217  // ---
218  .def("GetDEDX", f1_GetDEDX, f_GetDEDX())
219  .def("GetDEDX", f2_GetDEDX, f_GetDEDX())
220  .def("GetRange", f1_GetRange, f_GetRange())
221  .def("GetRange", f2_GetDEDX, f_GetRange())
222  .def("GetKinEnergy", f1_GetKinEnergy, f_GetKinEnergy())
223  .def("GetKinEnergy", f2_GetKinEnergy, f_GetKinEnergy())
224  .def("GetCrossSectionPerVolume",
225  f1_GetCrossSectionPerVolume, f_GetCrossSectionPerVolume())
226  .def("GetCrossSectionPerVolume",
227  f2_GetCrossSectionPerVolume, f_GetCrossSectionPerVolume())
228  .def("GetMeanFreePath", f1_GetMeanFreePath, f_GetMeanFreePath())
229  .def("GetMeanFreePath", f2_GetMeanFreePath, f_GetMeanFreePath())
230  // ---
231  .def("PrintDEDXTable", &G4EmCalculator::PrintDEDXTable)
232  .def("PrintRangeTable", &G4EmCalculator::PrintRangeTable)
233  .def("PrintInverseRangeTable", &G4EmCalculator::PrintInverseRangeTable)
234  // ---
235  .def("ComputeDEDX", f1_ComputeDEDX, f_ComputeDEDX())
236  .def("ComputeDEDX", f2_ComputeDEDX, f_ComputeDEDX())
237  .def("ComputeNuclearDEDX", f1_ComputeNuclearDEDX)
238  .def("ComputeNuclearDEDX", f2_ComputeNuclearDEDX)
239  .def("ComputeElectronicDEDX", f1_ComputeElectronicDEDX,
240  f_ComputeElectronicDEDX())
241  .def("ComputeDEDX", f2_ComputeElectronicDEDX,
242  f_ComputeElectronicDEDX())
243  .def("ComputeTotalDEDX", f1_ComputeTotalDEDX, f_ComputeTotalDEDX())
244  .def("ComputeTotalDEDX", f2_ComputeTotalDEDX, f_ComputeTotalDEDX())
245  // ---
246  .def("ComputeCrossSectionPerVolume",
247  f1_ComputeCrossSectionPerVolume, f_ComputeCrossSectionPerVolume())
248  .def("ComputeCrossSectionPerVolume",
249  f2_ComputeCrossSectionPerVolume, f_ComputeCrossSectionPerVolume())
250  .def("ComputeCrossSectionPerAtom",
251  f1_ComputeCrossSectionPerAtom, f_ComputeCrossSectionPerAtom())
252  .def("ComputeCrossSectionPerAtom",
253  f2_ComputeCrossSectionPerAtom, g_ComputeCrossSectionPerAtom())
254  .def("ComputeEnergyCutFromRangeCut", f1_ComputeEnergyCutFromRangeCut)
255  .def("ComputeEnergyCutFromRangeCut", f2_ComputeEnergyCutFromRangeCut)
256  // ---
257  .def("ComputeMeanFreePath",
258  f1_ComputeMeanFreePath, f_ComputeMeanFreePath())
259  .def("ComputeMeanFreePath",
260  f2_ComputeMeanFreePath, f_ComputeMeanFreePath())
261  // ---
262  .def("FindParticle", &G4EmCalculator::FindParticle,
263  return_value_policy<reference_existing_object>())
264  .def("FindMaterial", &G4EmCalculator::FindMaterial,
265  return_value_policy<reference_existing_object>())
266  .def("FindRegion", &G4EmCalculator::FindRegion,
267  return_value_policy<reference_existing_object>())
268  .def("FindCouple", &G4EmCalculator::FindCouple,
269  f_FindCouple()[return_value_policy<reference_existing_object>()])
270  // ---
271  .def("SetVerbose", &G4EmCalculator::SetVerbose)
272  ;
273 }
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)
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 *)
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)
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 *)