00001
00002 import GaudiKernel.SystemOfUnits as units
00003
00004 def Radioact(stage = 'null',
00005 name = 'K40_gds',
00006 volume = '/dd/Structure/AD/db-gds1',
00007 nuclide = "K40",
00008 abundance = 3.01e17,
00009 strategy = "AvoidDaughters",
00010 material = "StainlessSteel",
00011 fillvolumes = "lvPmtHemiVacuum",
00012 start_time = 0):
00013 '''
00014 Configure GenDecay generator
00015 Originally created by Qing.
00016 Modified from MDC09b/runIBD15 by Zhe Dec. 13, 2010
00017 '''
00018
00019
00020 from Gnrtr.GnrtrConf import Gnrtr
00021 gnrtr = Gnrtr(name)
00022
00023 gnrtr.GenTools = [ "GtDecayerator/"+name+"Gen",
00024 "GtPositionerTool/"+name+"Pos",
00025 "GtTransformTool/"+name+"Tra"]
00026
00027 gnrtr.TimeStamp = start_time
00028 gnrtr.GenName = name
00029
00030
00031 from GenDecay.GenDecayConf import GtDecayerator
00032 from GenTools.GenToolsConf import GtPositionerTool, GtTransformTool
00033
00034
00035 gen=GtDecayerator(name+'Gen')
00036 gen.ParentNuclide = nuclide
00037 gen.ParentAbundance = abundance
00038 gen.SecularEquilibrium = True
00039 gen.CorrelationTime = 1*units.second
00040
00041
00042 pos=GtPositionerTool(name+'Pos',Volume=volume)
00043 pos.Strategy = strategy
00044 if pos.Strategy == 'VolumeType':
00045 pos.FillVolumes = [fillvolumes]
00046 if pos.Strategy == 'Material':
00047 pos.FillMaterials = [material]
00048 pos.Mode = "Uniform"
00049 pos.Spread = 25*units.m
00050 pos.Position = [0,0,0*units.m]
00051
00052
00053 tra=GtTransformTool(name+'Tra',Volume=volume)
00054
00055 return gnrtr