9 import g4py.ExN01pl, g4py.ParticleGun
16 "My Detector Construction" 19 G4VUserDetectorConstruction.__init__(self)
20 self.
air= gNistManager.FindOrBuildMaterial(
"G4_AIR")
34 global sld_world, lv_world, pv_world, va_world
36 sld_world=
G4Box(
"world", 1.*m, 1.*m, 1.*m)
42 va_world.SetVisibility(
False)
43 lv_world.SetVisAttributes(va_world)
46 global sld_sld, lv_sld, pv_sld
47 sld_sld=
G4Box(
"dummy", 10.*cm, 10.*cm, 10.*cm)
57 sld_box=
G4Box(
"box", 30.*cm, 40.*cm, 60.*cm)
60 gRunManager.GeometryHasBeenModified()
65 sld_tubs=
G4Tubs(
"tubs", 10.*cm, 15.*cm, 20.*cm, 0., pi)
68 gRunManager.GeometryHasBeenModified()
73 sld_cons=
G4Cons(
"cons", 5.*cm, 10.*cm, 20.*cm, 25.*cm,
77 gRunManager.GeometryHasBeenModified()
82 sld_para=
G4Para(
"para", 30.*cm, 40.*cm, 60.*cm, pi/4., pi/8., 0.)
85 gRunManager.GeometryHasBeenModified()
90 sld_trd=
G4Trd(
"trd", 30.*cm, 10.*cm, 40.*cm, 15.*cm, 60.*cm)
93 gRunManager.GeometryHasBeenModified()
98 sld_trap=
G4Trap(
"trap", 60.*cm, 20.*degree, 5.*degree,
99 40.*cm, 30.*cm, 40.*cm, 10.*degree,
100 16.*cm, 10*cm, 14.*cm, 10.*deg)
103 gRunManager.GeometryHasBeenModified()
108 sld_sphere=
G4Sphere(
"sphere", 100.*cm, 120.*cm, 0., 180.*deg,
112 gRunManager.GeometryHasBeenModified()
117 sld_orb=
G4Orb(
"orb", 100.*cm)
120 gRunManager.GeometryHasBeenModified()
125 sld_torus=
G4Torus(
"torus", 40.*cm, 60.*cm, 200.*cm, 0., 90.*deg)
128 gRunManager.GeometryHasBeenModified()
136 zvec[:]= [ 5.*cm, 7.*cm, 9.*cm, 11.*cm, 25.*cm, 27.*cm, 29.*cm,
138 rinvec[:]= [0.,0.,0.,0.,0.,0.,0.,0.,0.]
139 routvec[:]= [ 0., 10.*cm, 10.*cm, 5.*cm, 5.*cm, 10.*cm,
140 10.*cm, 2.*cm, 2.*cm ]
143 sld_pcon= CreatePolycone(
"pcon", 0., twopi, 9, zvec, rinvec,routvec)
146 gRunManager.GeometryHasBeenModified()
154 zvec[:]= [ 0., 5.*cm, 8.*cm, 13.*cm, 30.*cm, 32.*cm, 35.*cm ]
155 rinvec[:]= [0.,0.,0.,0.,0.,0.,0. ]
156 routvec[:]= [ 0., 15.*cm, 15.*cm, 4.*cm, 4.*cm, 10.*cm, 10.*cm ]
159 sld_pgon= CreatePolyhedra(
"pgon", 0., twopi, 5, 7, zvec, rinvec,routvec)
162 gRunManager.GeometryHasBeenModified()
170 gRunManager.GeometryHasBeenModified()
175 sld_es=
G4Ellipsoid(
"ellipsoid", 10.*cm, 20.*cm, 50.*cm,
179 gRunManager.GeometryHasBeenModified()
188 gRunManager.GeometryHasBeenModified()
193 sld_hype=
G4Hype(
"hype", 20.*cm, 30.*cm, 0.7, 0.7, 50.*cm)
196 gRunManager.GeometryHasBeenModified()
202 p2=
G4ThreeVector(0., 2*math.sqrt(2./3.)*cm, -1./math.sqrt(3)*cm)
208 sld_tet=
G4Tet(
"tet", 20.*p1, 20.*p2, 20.*p3, 20.*p4)
211 gRunManager.GeometryHasBeenModified()
216 sld_twb=
G4TwistedBox(
"twistedbox", 30.*deg, 30.*cm, 40.*cm, 60.*cm)
219 gRunManager.GeometryHasBeenModified()
225 60.*cm, 20.*deg, 5.*deg,
226 40.*cm, 30.*cm, 40.*cm,
227 16.*cm, 10.*cm, 14.*cm, 10.*deg)
230 gRunManager.GeometryHasBeenModified()
236 40.*cm, 15.*cm, 60.*cm, 30.*deg)
239 gRunManager.GeometryHasBeenModified()
245 10.*cm, 15.*cm, 20.*cm, 90.*deg)
248 gRunManager.GeometryHasBeenModified()
257 os.environ[
"G4VRML_DEST_DIR"]=
"." 258 os.environ[
"G4VRMLFILE_MAX_FILE_NUM"]=
"1" 259 os.environ[
"G4VRMLFILE_VIEWER"]=
"echo" 263 gRunManager.SetUserInitialization(myDC)
266 g4py.ExN01pl.Construct()
269 g4py.ParticleGun.Construct()
272 gRunManager.Initialize()
283 (
"g4box", myDC.ConstructBox),
284 (
"g4tubs", myDC.ConstructTubs),
285 (
"g4cons", myDC.ConstructCons),
286 (
"g4para", myDC.ConstructPara),
287 (
"g4trd", myDC.ConstructTrd),
288 (
"g4trap", myDC.ConstructTrap),
289 (
"g4sphere", myDC.ConstructSphere),
290 (
"g4orb", myDC.ConstructOrb),
291 (
"g4torus", myDC.ConstructTorus),
292 (
"g4polycone", myDC.ConstructPolycone),
293 (
"g4polyhedra", myDC.ConstructPolyhedra),
294 (
"g4ellipticaltube", myDC.ConstructEllipticalTube),
295 (
"g4ellipsoid", myDC.ConstructEllipsoid),
296 (
"g4ellipticalcone", myDC.ConstructEllipticalCone),
297 (
"g4hype", myDC.ConstructHype),
298 (
"g4tet", myDC.ConstructTet),
299 (
"g4twistedbox", myDC.ConstructTwistedBox),
300 (
"g4twistedtrap", myDC.ConstructTwistedTrap),
301 (
"g4twistedtrd", myDC.ConstructTwistedTrd),
302 (
"g4twistedtubs", myDC.ConstructTwistedTubs)
307 gRunManager.BeamOn(1)
308 fname=
"%s.wrl" % (s)
309 os.rename(
"g4_00.wrl", fname)
virtual G4VPhysicalVolume * Construct()=0
def ConstructEllipsoid(self)
def ConstructPolyhedra(self)
def ConstructTwistedTrd(self)
def ConstructEllipticalTube(self)
def ConstructTwistedBox(self)
def ConstructTwistedTubs(self)
def ConstructTwistedTrap(self)
def ConstructEllipticalCone(self)
def ConstructSphere(self)
std::vector< G4double > G4doubleVector
def ConstructPolycone(self)