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

In This Package:

runLED::__init__ Namespace Reference


Functions

def configure
def run

Variables

string DATETIME_FORMAT = '%Y-%m-%dT%H:%M:%S'

Function Documentation

def runLED::__init__::configure (   argv = []  ) 

Configure this module with LED position

Definition at line 24 of file __init__.py.

00024                         :
00025     """Configure this module with LED position"""
00026 
00027     import GaudiKernel.SystemOfUnits as units
00028     import sys, getopt
00029     from time import gmtime, mktime, strftime, strptime, timezone
00030     opts,args = getopt.getopt(argv,
00031                               "p:w:z:n:i:f:",["no-geometry"])
00032     wallTime = 0
00033     axis = 0
00034     xpos = 0.0
00035     ypos = 0.0
00036     zpos = 0.0
00037     intensity = 3500 # photons per LED flash
00038     ledName = "DayaBayAD1_ACU_A_Center_LED"
00039     ledFrequency = 500.0 * units.hertz
00040     pmtDataPath = None
00041     placeGeometry = True
00042     for opt,arg in opts:
00043         if opt == "-p":
00044             pmtDataPath = arg
00045         if opt == "-i":
00046             intensity = int(arg)
00047             print "======================================================"
00048             print "Diffuser Ball intensity  = ",intensity," photons per flash"
00049             print "======================================================"
00050         if opt == "-f":
00051             ledFrequency = float(arg)
00052             print "======================================================"
00053             print "Diffuser Ball frequency  = ",ledFrequency," hertz"
00054             print "======================================================"
00055         if opt == "-z":
00056             zpos = float(arg)
00057             print "======================================================"
00058             print "Diffuser Ball Z position = ", zpos, " cm"
00059             print "======================================================"
00060             zpos *= units.cm
00061         if opt == "-n":
00062             ledName = arg
00063             print "======================================================"
00064             print "LED Source = ", ledName
00065             print "======================================================"
00066         if opt == "--no-geometry":
00067             placeGeometry = False
00068             print "======================================================"
00069             print "Photons only; ACU diffuser ball geometry will not be added."
00070             print "======================================================"
00071 
00072     detectorMap = {"DayaBayAD1":"/dd/Structure/AD/db-oil1",
00073                    "DayaBayAD2":"/dd/Structure/AD/db-oil2",
00074                    "LingAoAD1":"/dd/Structure/AD/la-oil1",
00075                    "LingAoAD2":"/dd/Structure/AD/la-oil2",
00076                    "FarAD1":"/dd/Structure/AD/far-oil1",
00077                    "FarAD2":"/dd/Structure/AD/far-oil2",
00078                    "FarAD3":"/dd/Structure/AD/far-oil3",
00079                    "FarAD4":"/dd/Structure/AD/far-oil4"
00080                    }
00081 
00082     # Get LED Source information
00083     from GaudiPython import gbl
00084     CalibSourceId = gbl.DayaBay.CalibSourceId
00085     ledId = CalibSourceId( ledName )
00086     xpos = ledId.nominalX()
00087     ypos = ledId.nominalY()
00088     volume = None
00089     if detectorMap.has_key( ledId.detName() ):
00090         # Set the correct coordinate system volume
00091         volume = detectorMap[ ledId.detName() ]
00092     else:
00093         print "ERROR: Unknown detector: ", ledId.detName()
00094         sys.exit(1)
00095 
00096     if ledId.isWallMounted():
00097         zpos = ledId.nominalZ()
00098         placeGeometry = False
00099 
00100     import GenTools
00101     from GenTools.Helpers import DiffuserBall
00102     ball = DiffuserBall( name=ledName,
00103                          useGeometry = placeGeometry )
00104     ball.setVolume( volume )
00105     ball.setPosition( [xpos, ypos, zpos] )
00106     ball.ball.PhotonsPerEvent = intensity
00107     ball.timerator.LifeTime = 1.0 / ledFrequency
00108     gtc = GenTools.Configure()
00109     gtc.generator.TimeStamp = int(wallTime)
00110     gtc.register(ball)
00111 
00112     # Set run info
00113     from RunDataSvc.RunDataSvcConf import RunDataSvc
00114     runDataSvc = RunDataSvc()
00115     runDataSvc.SimRunType = "Calibration"
00116     runDataSvc.SimCalibSources = [ ledName ]
00117     runDataSvc.SimLedFrequency = { ledName : ledFrequency }
00118     runDataSvc.SimCalibZPosition = { ledName : zpos }    
00119 
00120     import DetSim
00121     detsim = DetSim.Configure(physlist = DetSim.physics_list_basic)
00122 
00123     import ElecSim
00124     elecsim = ElecSim.Configure()
00125     if pmtDataPath != None:
00126         # change PMT properties
00127         elecsim.dataSvc.setPmtSimData( pmtDataPath )
00128     
00129     import TrigSim
00130     trigsim = TrigSim.Configure()
00131 
00132     import ReadoutSim
00133     rosim = ReadoutSim.Configure()
00134 
00135     # Don't save the information for every generated optical photon;
00136     # the data volume is too large.
00137     from DybAlg.DybAlgConf import DybGenPrune
00138     genPrune = DybGenPrune()
00139     from Gaudi.Configuration import ApplicationMgr
00140     appMgr = ApplicationMgr()
00141     appMgr.TopAlg += [genPrune]
00142 
def run(app):

def runLED::__init__::run (   app  ) 

Definition at line 143 of file __init__.py.

00143             :
00144     pass
    pass


Variable Documentation

string runLED::__init__::DATETIME_FORMAT = '%Y-%m-%dT%H:%M:%S' [static]

Definition at line 20 of file __init__.py.

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

Generated on Mon Apr 11 20:11:57 2011 for MDC09a by doxygen 1.4.7