Geant4-11
pyG4FieldManager.cc
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26// ====================================================================
27// pyG4FieldManager.cc
28//
29// 2005 Q
30// ====================================================================
31#include <boost/python.hpp>
32#include "G4Version.hh"
33#include "G4FieldManager.hh"
34#include "G4Field.hh"
35#include "G4ChordFinder.hh"
36#include "G4MagneticField.hh"
37#include "G4Track.hh"
38
39using namespace boost::python;
40
41// ====================================================================
42// thin wrappers
43// ====================================================================
45
48
51
53 SetDetectorField, 1, 2)
54
55}
56
57using namespace pyG4FieldManager;
58
59// ====================================================================
60// module definition
61// ====================================================================
63{
64 class_<G4FieldManager, G4FieldManager*, boost::noncopyable>
65 ("G4FieldManager", "field manager class")
66 // constructors
67 .def(init<>())
68 .def(init<G4Field*>())
69 .def(init<G4Field*, G4ChordFinder*>())
70 .def(init<G4Field*, G4ChordFinder*, G4bool>())
71 .def(init<G4MagneticField*>())
72 // ---
73 .def("SetDetectorField", &G4FieldManager::SetDetectorField,
74 f_SetDetectorField())
75 .def("GetDetectorField", &G4FieldManager::GetDetectorField,
76 return_internal_reference<>())
77 .def("DoesFieldExist", &G4FieldManager::DoesFieldExist)
78 .def("CreateChordFinder", &G4FieldManager::CreateChordFinder)
79 .def("SetChordFinder", &G4FieldManager::SetChordFinder)
80 .def("GetChordFinder", f1_GetChordFinder,
81 return_internal_reference<>())
82 .def("GetChordFinder", f2_GetChordFinder,
83 return_internal_reference<>())
84 .def("ConfigureForTrack", &G4FieldManager::ConfigureForTrack)
85 .def("GetDeltaIntersection", &G4FieldManager::GetDeltaIntersection)
86 .def("GetDeltaOneStep", &G4FieldManager::GetDeltaOneStep)
87 .def("SetAccuraciesWithDeltaOneStep",
89 .def("SetDeltaOneStep", &G4FieldManager::SetDeltaOneStep)
90 .def("SetDeltaIntersection", &G4FieldManager::SetDeltaIntersection)
91 .def("GetMinimumEpsilonStep", &G4FieldManager::GetMinimumEpsilonStep)
92 .def("SetMinimumEpsilonStep", &G4FieldManager::SetMinimumEpsilonStep)
93 .def("GetMaximumEpsilonStep", &G4FieldManager::GetMaximumEpsilonStep)
94 .def("SetMaximumEpsilonStep", &G4FieldManager::SetMaximumEpsilonStep)
95 .def("DoesFieldChangeEnergy", &G4FieldManager::DoesFieldChangeEnergy)
96 .def("SetFieldChangesEnergy", &G4FieldManager::SetFieldChangesEnergy)
97 ;
98}
void SetAccuraciesWithDeltaOneStep(G4double valDeltaOneStep)
G4bool DoesFieldChangeEnergy() const
G4bool SetDetectorField(G4Field *detectorField, G4int failMode=0)
void CreateChordFinder(G4MagneticField *detectorMagField)
void SetFieldChangesEnergy(G4bool value)
void SetDeltaOneStep(G4double valueD1step)
void SetChordFinder(G4ChordFinder *aChordFinder)
virtual void ConfigureForTrack(const G4Track *)
G4double GetMinimumEpsilonStep() const
void SetMinimumEpsilonStep(G4double newEpsMin)
G4double GetMaximumEpsilonStep() const
G4double GetDeltaOneStep() const
const G4Field * GetDetectorField() const
void SetDeltaIntersection(G4double valueDintersection)
G4ChordFinder * GetChordFinder()
void SetMaximumEpsilonStep(G4double newEpsMax)
G4double GetDeltaIntersection() const
G4bool DoesFieldExist() const
G4ChordFinder *(G4FieldManager::* f1_GetChordFinder)()
const G4ChordFinder *(G4FieldManager::* f2_GetChordFinder)() const
BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ClearWaitingStack, ClearWaitingStack, 0, 1) BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_GetNWaitingTrack
void export_G4FieldManager()