From 85f9f1d23f74ed9679d879c32f7e3c72c7e7ce8f Mon Sep 17 00:00:00 2001 From: Stan Seibert Date: Tue, 16 Aug 2011 17:10:58 -0400 Subject: Refactor sim.py into a reusable Simulation class that is called by the main function(). Also cleanup more event data structure names and add an nphoton value that is preserved even if you prune off all the actual photon vertices. --- generator/g4gen.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'generator/g4gen.py') diff --git a/generator/g4gen.py b/generator/g4gen.py index d4e79a1..4416c45 100644 --- a/generator/g4gen.py +++ b/generator/g4gen.py @@ -111,8 +111,8 @@ class G4Generator(object): else: # Create temporary subtrack for single primary particle subtracks = [event.Subtrack(particle_name=ev.particle_name, - position=ev.gen_pos, - direction=ev.gen_dir, + position=ev.gen_position, + direction=ev.gen_direction, start_time=0.0, total_energy=ev.gen_total_energy)] -- cgit From e5f51bde2015b12301062ab7903038ba2fcf3e34 Mon Sep 17 00:00:00 2001 From: Stan Seibert Date: Tue, 16 Aug 2011 18:54:15 -0400 Subject: Preheat GEANT4 process by running a short event at startup --- generator/g4gen.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'generator/g4gen.py') diff --git a/generator/g4gen.py b/generator/g4gen.py index 4416c45..cec53f7 100644 --- a/generator/g4gen.py +++ b/generator/g4gen.py @@ -49,7 +49,13 @@ class G4Generator(object): self.tracking_action = G4chroma.PhotonTrackingAction() gRunManager.SetUserAction(self.tracking_action) gRunManager.Initialize() - + + #preinitialize the process by running a simple event + self.generate_photons(event.Event(event_id=0, particle_name='e-', + gen_position=(0,0,0), + gen_direction=(1,0,0), + gen_total_energy=1.0)) + def create_g4material(self, material): g4material = G4Material('world_material', material.density * g / cm3, len(material.composition)) @@ -133,8 +139,6 @@ if __name__ == '__main__': import time import optics gen = G4Generator(optics.water) - # prime things - gen.generate_photons(event.Event('e-', (0,0,0), (1,0,0), 1.0)) start = time.time() n = 0 -- cgit