def setUp(self):
        config = {}
        config['layers'] = 444
        config['thickness_layer'] = 40.0
        config['thickness_bar'] = 10.0
        config['density_iron'] = 7.87
        config['density_scint'] = 1.06

        self.max_size = config['layers'] * config['thickness_layer'] / 2
        self.dist = GA.composite_z(config)
    def setUp(self):
        config = {}
        config['layers'] = 444
        config['thickness_layer'] = 40.0
        config['thickness_bar']  = 10.0
        config['density_iron'] = 7.87
        config['density_scint'] = 1.06

        self.max_size = config['layers'] * config['thickness_layer'] / 2
        self.dist = GA.composite_z(config)
Exemple #3
0
    physics_list = G4.G4physicslists.QGSP_BERT()
    gRunManager.SetUserInitialization(physics_list)
    physics_list.SetDefaultCutValue(1.0 * mm)
    physics_list.SetCutsWithDefault()

    #
    #  Generator actions
    #

    pos = []
    width = rc['width'] * rc['bars']

    pos.append(uniform(loc=-width / 2, scale=width))
    pos.append(uniform(loc=-width / 2, scale=width))
    pos.append(GeneratorAction.composite_z(rc))

    #config['vertex']
    mom = [0, 0, config['energy_MeV']]
    pid = config['pid']

    if GeneratorAction.is_neutrino_code(config['pid']):
        if config['distribution'] == 'point':
            raise NotImplementedError

        assert config['distribution'] == 'electron' or\
            config['distribution'] == 'muon' or\
            config['distribution'] == 'flat'

        log.warning('Energy argument ignored... assuming 3.8 GeV muons')
Exemple #4
0
    detector = BoxDetectorConstruction('%s.gdml' % material)
    gRunManager.SetUserInitialization(detector)

    physics_list = G4.G4physicslists.QGSP_BERT()
    gRunManager.SetUserInitialization(physics_list)
    physics_list.SetDefaultCutValue(1.0 * mm)
    physics_list.SetCutsWithDefault()

    pos = []
    pos.append(0)
    pos.append(0)
    pos.append(uniform(loc=-6000, scale=1000))
    mom = [0, 0, randint(1, 2 * 7, scale=500)]  # Scale: GeV -> MeV
    pid = 13

    pga = GeneratorAction.ParticleGenerator(pos, mom, pid)
    pga = GeneratorAction.VlenfGeneratorAction(pga)

    gRunManager.SetUserAction(pga)

    processors = []
    processors.append("AppendTruth")
    processors.append("CouchManager")

    myEA = EventAction.VlenfEventAction(processors)
    gRunManager.SetUserAction(myEA)

    myTA = TrackingAction.LengthTrackingAction()
    gRunManager.SetUserAction(myTA)

    #  This is a trick that, if enabled, lets the event action notify the