Geant4-11
pyExN03geom.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// pyExN03geom.cc
28//
29// [ExN03geom]
30// a site-module of Geant4Py
31//
32// geometry presented in ExN03 of Geant4 example
33//
34// 2005 Q
35// ====================================================================
36#include <boost/python.hpp>
37#include "G4RunManager.hh"
39
40using namespace boost::python;
41
43
44// ====================================================================
45// thin wrappers
46// ====================================================================
47namespace pyExN03geom {
48
49void Construct()
50{
52 runMgr-> SetUserInitialization(new ExN03DetectorConstruction);
53}
54
55}
56
57using namespace pyExN03geom;
58
59// ====================================================================
60// Expose to Python
61// ====================================================================
62
65 bases<G4VUserDetectorConstruction> >
66 ("ExN03DetectorConstruction", "ExN03 detector")
67 // ---
68 .def("SetAbsorberMaterial", &XXX::SetAbsorberMaterial)
69 .def("SetAbsorberThickness", &XXX::SetAbsorberThickness)
70 .def("SetGapMaterial", &XXX::SetGapMaterial)
71 .def("SetGapThickness", &XXX::SetGapThickness)
72 .def("SetCalorSizeYZ", &XXX::SetCalorSizeYZ)
73 .def("SetNbOfLayers", &XXX::SetNbOfLayers)
74 .def("SetMagField", &XXX::SetMagField)
75 // ---
76 .def("GetWorldSizeX", &XXX::GetWorldSizeX)
77 .def("GetWorldSizeYZ", &XXX::GetWorldSizeYZ)
78 .def("GetCalorThickness", &XXX::GetCalorThickness)
79 .def("GetCalorSizeYZ", &XXX::GetCalorSizeYZ)
80 .def("GetNbOfLayers", &XXX::GetNbOfLayers)
81 .def("GetAbsorberMaterial", &XXX::GetAbsorberMaterial,
82 return_value_policy<reference_existing_object>())
83 .def("GetAbsorberThickness", &XXX::GetAbsorberThickness)
84 .def("GetGapMaterial", &XXX::GetGapMaterial,
85 return_value_policy<reference_existing_object>())
86 .def("GetGapThickness", &XXX::GetGapThickness)
87 .def("GetphysiWorld", &XXX::GetphysiWorld,
88 return_value_policy<reference_existing_object>())
89 .def("GetAbsorber", &XXX::GetAbsorber,
90 return_value_policy<reference_existing_object>())
91 .def("GetGap", &XXX::GetGap,
92 return_value_policy<reference_existing_object>())
93 // ---
94 .def("UpdateGeometry", &XXX::UpdateGeometry)
95 .def("PrintCalorParameters", &XXX::PrintCalorParameters)
96 ;
97
98 // ---
99 def("Construct", Construct);
100}
101
static G4RunManager * GetRunManager()
PhysicsListEMstd * Construct()
Definition: pyEMSTDpl.cc:47
void Construct()
Definition: pyExN01geom.cc:47
BOOST_PYTHON_MODULE(_ExN03geom)
Definition: pyExN03geom.cc:63
ExN03DetectorConstruction XXX
Definition: pyExN03geom.cc:42