Ejemplo n.º 1
0
    def GeneratePrimaries(self, event):
        particles = self.particle_generator.generate()

        for particle in particles:
            pp = G4.G4PrimaryParticle()
            pp.SetPDGcode(particle['pid'])

            pp.SetMomentum(particle['momentum']['x'],
                           particle['momentum']['y'],
                           particle['momentum']['z'])

            v = G4.G4PrimaryVertex()
            v.SetPosition(particle['position']['x'], particle['position']['y'],
                          particle['position']['z'])

            v.SetPrimary(pp)

            event.AddPrimaryVertex(v)

        # Write particleS information to the runtime configuration so the Truth
        #  processor can find it in order to output it
        self.setMCInfo(particles)