| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

test-GeneratorAlg.py

Go to the documentation of this file.
00001 #!/usr/bin/env python
00002 
00003 class TestGenerator:
00004     def __init__(self):
00005         import gaudimodule as gm
00006         self.app = gm.AppMgr()
00007         msv = self.app.service('MessageSvc')
00008         msv.OutputLevel = 3
00009         self.nevents = 10
00010         self.volume = "/dd/Geometry/Pool/lvNearPoolIWS"
00011         self.init()
00012         self.app.EvtMax = self.nevents
00013         self.app.EvtSel = "NONE"
00014         return
00015 
00016     def init(self):
00017         self.init_gen_tools()
00018         self.init_generator()
00019         self.init_geometry()
00020         return
00021 
00022     def init_gen_tools(self):
00023         from units import second
00024 
00025         print " init_gen_tools"
00026         toolSvc = self.app.toolSvc()
00027 
00028         # Set up timerator
00029         print " Creating timerator"
00030         tim = toolSvc.create("GtTimeratorTool","timerator")
00031         tim.OutputLevel=1
00032         tim.LifeTime = int(1*second)
00033 
00034         # Set up positioner
00035         print " Creating poser"
00036         poser = toolSvc.create("GtPositionerTool", "poser")
00037         poser.OutputLevel = 3
00038         poser.Volume = self.volume
00039         poser.Strategy = "FullVolume" # also "AvoidDaughters" and "Surface"
00040 
00041         # find executable
00042         exe = "Co60.exe"
00043         import os, os.path
00044         path = os.getenv('PATH')
00045         for p in path:
00046             if (os.path.isfile(path+"/"+exe)):
00047                 exe = path+"/"+exe
00048                 break
00049             continue
00050 
00051         # HEPEvt -> HepMC generator
00052         hepevt = toolSvc.create("GtHepEvtGenTool")
00053         hepevt.HepEvtDataSource = "%s -n %d -seed 1234567|"%(exe,self.nevents)
00054         print " HepEvtGenTool with", hepevt.HepEvtDataSource
00055 
00056         return
00057 
00058     def init_generator(self):
00059         print " init_generator"
00060         self.app.TopAlg += [ "GtGenerator/Gen", "GtHepMCDumper/Dumper" ]
00061 
00062         print " GtGenerator"
00063         gen = self.app.algorithm("Gen")
00064         gen.OutputLevel = 2
00065         gen.GenTools = [ "GtHepEvtGenTool", "poser", "timerator" ]
00066         gen.GenName = "Cobalt 60"
00067         gen.GenEventLoc = "/Event/Gen/HepMCEvents" # this is default anyways
00068 
00069         print " GtDumper"
00070         dump = self.app.algorithm("Dumper")
00071         dump.Location = "/Event/Gen/HepMCEvents"  # this is default anyways.
00072         return
00073 
00074     def init_geometry(self):
00075         print " init_geometry"
00076         self.app.ExtSvc += [ "XmlCnvSvc" , "XmlParserSvc" ] 
00077         
00078         det = self.app.service('DetectorPersistencySvc')
00079         det.OutputLevel=3
00080         det.CnvServices = ["XmlCnvSvc"]
00081 
00082         det = self.app.service('XmlCnvSvc')
00083         #det.OutputLevel=1
00084         det.AllowGenericConversion = True
00085 
00086         #XmlParserSvc = g.service('XmlParserSvc')
00087         #XmlParserSvc.EntityResolverSvc = "CondDBEntityResolverSvc"
00088 
00089         det = self.app.service('DetectorDataSvc')
00090         det.UsePersistency = True
00091         det.DetDbRootName  = "dd"
00092         det.DetStorageType = 7
00093         import os, os.path
00094         loc = os.getenv('XMLDETDESCROOT')
00095         if (not loc):
00096             import sys
00097             print "Failed to get XMLDETDESCROOT"
00098             sys.exit(1)
00099             return
00100         det.DetDbLocation  = loc + "/DDDB/dayabay.xml"
00101         print " Using XMLDDDB at",det.DetDbLocation
00102         return
00103 
00104     def run(self):
00105         self.app.run(self.nevents)
00106         return
00107 
00108 if '__main__' == __name__:
00109     tg = TestGenerator()
00110     tg.run()
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:55:36 2011 for GenTools by doxygen 1.4.7