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