Belle II Software  release-06-00-14
VisualizeGeometry.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 
11 
12 import os
13 import basf2 as b2
14 b2.logging.log_level = b2.LogLevel.WARNING
15 
16 # Set the environment variable to automatically start the VRML viewer
17 # for example http://freewrl.sourceforge.net/
18 os.environ['G4VRMLFILE_VIEWER'] = 'freewrl'
19 
20 eventinfosetter = b2.register_module('EventInfoSetter')
21 # Load XML parameters
22 paramloader = b2.register_module('Gearbox')
23 # paramloader.param('fileName', '/geometry/Beast2_phase2.xml')
24 paramloader.param('fileName', '/geometry/Beast2_phase1.xml')
25 # paramloader.param('fileName', '/home/igal/src/belle2/release/beast/examples/Beast2_phase1.xml')
26 # paramloader.param('fileName', '/beast/Beast2_phase1.xml')
27 # Create Geometry
28 geobuilder = b2.register_module('Geometry')
29 geobuilder.log_level = b2.LogLevel.INFO
30 pguninput = b2.register_module('ParticleGun')
31 g4sim = b2.register_module('FullSim')
32 
33 eventinfosetter.param('evtNumList', [1])
34 
35 g4sim.param('EnableVisualization', True)
36 g4sim.param('UICommandsAtIdle', ['/vis/open VRML2FILE', '/vis/drawVolume',
37  '/vis/scene/add/axes 0 0 0 31 mm',
38  '/vis/scene/add/trajectories smooth',
39  '/vis/modeling/trajectories/create/drawByCharge']) # Use VRML2 backend
40 # Draw the geometry
41 # Draw coordinate axes at the origin with a length of 100mm in each direction
42 # Draw simulated tracks
43 # Uncomment the following two lines to have yellow dots at each step boundary
44 # along the trajectory
45 # '/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true',
46 # '/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 0.5',
47 
48 # Parameters for particle gun
49 pguninput.param('nTracks', 1)
50 pguninput.param('pdgCodes', [211])
51 pguninput.param('momentumParams', [2.0, 5.0])
52 pguninput.param('thetaParams', [85.0, 95.0])
53 pguninput.param('phiParams', [-5.0, 5.0])
54 
55 main = b2.create_path()
56 
57 main.add_module(eventinfosetter)
58 main.add_module(paramloader)
59 main.add_module(geobuilder)
60 # Without Particle Gun there are no tracks
61 main.add_module(pguninput)
62 main.add_module(g4sim)
63 
64 b2.process(main)