00001
00002
00003 import GaudiKernel.SystemOfUnits as units
00004 from GenTools.GenToolsConf import GtPositionerTool
00005 from GenTools.GenToolsConf import GtTimeratorTool
00006 from GenTools.GenToolsConf import GtTransformTool
00007 from Li9He8Decay.Li9He8DecayConf import Li9He8Decayerator
00008
00009 class Decay:
00010
00011 '''
00012 A Li9He8Tools "helper" module to configure for a radioactive decay.
00013 '''
00014
00015 def __init__(self,
00016 volume = '/dd/Structure/AD/far-oil1',
00017 decay = Li9He8Decayerator("decay"),
00018 positioner = GtPositionerTool("decayPositioner",
00019 Strategy = 'FullVolume',
00020 Mode = 'Uniform'),
00021 timerator = GtTimeratorTool("decayTimerator",
00022 LifeTime = 1.*units.second),
00023 transformer = GtTransformTool("decayTransformer")):
00024 '''
00025 Construct a Decay helper.
00026
00027 Coustom configured tools can
00028 be passed in or customization can be done after construction
00029 using the data members:
00030
00031 .decay
00032 .positioner
00033 .timerator
00034 .transformer
00035
00036 If the Volume property for the positioner and transformer is
00037 not yet set, it will be set to the value of "volume"
00038 '''
00039 try:
00040 v = positioner.Volume
00041 except AttributeError:
00042 positioner.Volume = volume
00043
00044 try:
00045 v = transformer.Volume
00046 except AttributeError:
00047 transformer.Volume = volume
00048
00049 self.decay = decay
00050 self.positioner = positioner
00051 self.timerator = timerator
00052 self.transformer = transformer
00053 return
00054
00055 def setVolume(self,volumename):
00056 self.positioner.Volume = volumename
00057 self.transformer.Volume = volumename
00058 return
00059
00060 def tools(self):
00061 return [self.decay,self.positioner,self.timerator,self.transformer]
00062
00063 pass
00064
00065
00066 def configure(argv=[]):
00067 '''
00068 Configure for use as a Job Option Module
00069 '''
00070 import GenTools
00071 helper = Decay()
00072
00073 gtc = GenTools.Configure(genname="Li9He8Decay",helper=helper)
00074
00075
00076
00077 return