summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Seibert <stan@mtrr.org>2011-10-12 07:27:10 -0400
committertlatorre <tlatorre@uchicago.edu>2021-05-09 08:42:38 -0700
commit4779c6ff8815b098479753001e715e8ed1acad18 (patch)
treea7aae0f581fc583ac840fedc2de03508249b8afc
parent65c27114ef82632cae6ed0ffcae014dd3ad9d11e (diff)
downloadchroma-4779c6ff8815b098479753001e715e8ed1acad18.tar.gz
chroma-4779c6ff8815b098479753001e715e8ed1acad18.tar.bz2
chroma-4779c6ff8815b098479753001e715e8ed1acad18.zip
Period key in event viewer flips between charge and time display
-rw-r--r--chroma/camera.py25
1 files changed, 23 insertions, 2 deletions
diff --git a/chroma/camera.py b/chroma/camera.py
index a7f768b..aa4983c 100644
--- a/chroma/camera.py
+++ b/chroma/camera.py
@@ -681,6 +681,7 @@ class EventViewer(Camera):
def __init__(self, geometry, filename, **kwargs):
Camera.__init__(self, geometry, **kwargs)
self.rr = RootReader(filename)
+ self.show_charge = True
def render_particle_track(self):
x = 10.0
@@ -706,8 +707,19 @@ class EventViewer(Camera):
q = self.ev.channels.q
# Important: Compute range only with HIT channels
- solid_colors = map_to_color(q, range=(q[hit].min(),q[hit].max()))
- self.gpu_geometry.color_solids(hit, solid_colors)
+ if self.show_charge:
+ channel_color = map_to_color(q, range=(q[hit].min(),q[hit].max()))
+ print 'charge'
+ else:
+ channel_color = map_to_color(t, range=(t[hit].min(),t[hit].mean()))
+ print 'time'
+ solid_hit = np.zeros(len(self.geometry.mesh.triangles), dtype=np.bool)
+ solid_color = np.zeros(len(self.geometry.mesh.triangles), dtype=np.uint32)
+
+ solid_hit[self.geometry.channel_index_to_solid_id] = hit
+ solid_color[self.geometry.channel_index_to_solid_id] = channel_color
+
+ self.gpu_geometry.color_solids(solid_hit, solid_color)
def process_event(self, event):
if event.type == KEYDOWN:
@@ -738,6 +750,15 @@ class EventViewer(Camera):
self.update()
return
+ elif event.key == K_PERIOD:
+ self.show_charge = not self.show_charge # flip bit
+ self.color_hit_pmts()
+
+ if self.ev.photons_beg is not None:
+ self.render_particle_track()
+
+ self.update()
+ return
Camera.process_event(self, event)