Geant4
9.6.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4_9_6_p02
environments
g4py
source
python
g4viscp.py
Go to the documentation of this file.
1
#$Id: g4viscp.py,v 1.2 2006-04-25 08:09:45 kmura Exp $
2
"""
3
# ==================================================================
4
# Python module
5
#
6
# Visualization Control Panel
7
#
8
# Q, 2005
9
# ==================================================================
10
"""
11
from
G4interface
import
*
12
13
# ------------------------------------------------------------------
14
# Scene
15
# ------------------------------------------------------------------
16
class
G4Scene
:
17
"Scene"
18
def
__init__
(self, aname, vol= "world", acopyno=0,
19
amode=0, bmode=1):
20
self.
name
= aname
21
self.
volume
= vol
22
self.
copyno
= acopyno
23
self.
mode_eventaction
= amode
# 0: accumulate / 1: refresh
24
self.
mode_runaction
= bmode
# 0: accumulate / 1: refresh
25
self.
mode
= (
"accumulate"
,
"refresh"
)
26
27
def
create_scene
(self):
28
ApplyUICommand(
"/vis/scene/create "
+ self.
name
)
29
ApplyUICommand(
"/vis/scene/add/volume %s %d"
%
30
(self.
volume
, self.
copyno
))
31
ApplyUICommand(
"/vis/scene/add/trajectories"
)
32
self.
update_scene
()
33
34
def
update_scene
(self):
35
ApplyUICommand(
"/vis/scene/select "
+ self.
name
)
36
ApplyUICommand(
"/vis/sceneHandler/attach"
)
37
ApplyUICommand(
"/vis/scene/endOfEventAction %s"
%
38
(self.
mode
[self.
mode_eventaction
]) )
39
ApplyUICommand(
"/vis/scene/endOfRunAction %s"
%
40
(self.
mode
[self.
mode_runaction
]) )
41
42
# ------------------------------------------------------------------
43
# Visualization Control Panel
44
# ------------------------------------------------------------------
45
class
G4VisCP
:
46
"G4 Visualization Control Panel"
47
48
def
__init__
(self, gsys="OGLIX"):
49
self.
gsystem
= gsys
50
self.
scenelist
= [
G4Scene
(
"default"
)]
51
self.
viewpoint
= [270., 90.]
52
53
rc= ApplyUICommand(
"/vis/open "
+ gsys)
54
if
(rc != 0):
55
return
56
57
self.
scenelist
[0].create_scene()
58
ApplyUICommand(
"/vis/viewer/set/viewpointThetaPhi %f %f"
59
% (self.
viewpoint
[0], self.
viewpoint
[1]) )
60
ApplyUICommand(
"/tracking/storeTrajectory 1"
)
61
62
def
add_scene
(self, ascene):
63
self.scenelist.append(ascene)
64
65
def
select_scene
(self, iscene):
66
self.
scenelist
[iscene].update_scene()
67
ApplyUICommand(
"/vis/viewer/set/viewpointThetaPhi %f %f"
68
% (self.
viewpoint
[0], self.
viewpoint
[1]) )
69
Generated on Sat May 25 2013 14:32:02 for Geant4 by
1.8.4