/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 #!/usr/bin/env python 00002 import GaudiKernel.SystemOfUnits as units 00003 00004 def Li9He8(stage = 'null', 00005 name = 'Li9He8_gds', 00006 volume = '/dd/Structure/AD/db-gds1', 00007 strategy = "AvoidDaughters", 00008 material = "StainlessSteel", 00009 mode = "Uniform", 00010 Li9Fraction = 0.9, 00011 CompleteDecay = True, 00012 Lifetime = 1*units.second, 00013 start_time = 0): 00014 ''' 00015 Add a Li9 generator 00016 ''' 00017 00018 # set up Gnrtr itself 00019 from Gnrtr.GnrtrConf import Gnrtr 00020 gnrtr = Gnrtr(name) 00021 00022 gnrtr.GenTools = [ "Li9He8Decayerator/"+name+"Gen", 00023 "GtPositionerTool/"+name+"Pos", 00024 "GtTimeratorTool/"+name+"Tim", 00025 "GtTransformTool/"+name+"Tra"] 00026 00027 gnrtr.TimeStamp = start_time 00028 gnrtr.GenName = name 00029 00030 # set up each tools 00031 from Li9He8Decay.Li9He8DecayConf import Li9He8Decayerator 00032 from GenTools.GenToolsConf import GtPositionerTool, GtTransformTool, GtTimeratorTool 00033 00034 #generator 00035 gen=Li9He8Decayerator(name+'Gen') 00036 gen.Li9fraction = Li9Fraction 00037 gen.CompleteDecay = CompleteDecay 00038 00039 # Set up positioner 00040 pos=GtPositionerTool(name+'Pos',Volume=volume) 00041 pos.Strategy = strategy 00042 if pos.Strategy == 'VolumeType': 00043 pos.FillVolumes = [fillvolumes] 00044 if pos.Strategy == 'Material': 00045 pos.FillMaterials = [material] 00046 pos.Mode = mode 00047 pos.Spread = 25*units.m 00048 pos.Position = [0,0,0*units.m] 00049 00050 # time 00051 tim = GtTimeratorTool(name+"Tim") 00052 tim.LifeTime = Lifetime 00053 00054 # transform 00055 tra=GtTransformTool(name+'Tra',Volume=volume) 00056 00057 return gnrtr