LArSoft  v07_13_02
Liquid Argon Software toolkit - http://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 214 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().

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