00001 #!/usr/local/bin/python 00002 # 00003 # Copyright 2004 00004 # by 00005 # The Board of Trustees of the 00006 # Leland Stanford Junior University. 00007 # All rights reserved. 00008 # 00009 00010 __facility__ = "Online" 00011 __abstract__ = "GLAST LAT Coincidence based Trigger System Interface classes" 00012 __author__ = "M. Huffer <mehsys@slac.stanford.edu> SLAC - GLAST LAT Electronics" 00013 __date__ = "1/14/04" 00014 __version__ = "$Revision: 2.1 $" 00015 __release__ = "$Name: R04-12-00 $" 00016 __credits__ = "SLAC" 00017 00018 import LATTE.copyright_SLAC 00019 00020 00021 from rcTrgGem import rcTrgGem 00022 from TrgSequence import TrgDefaultSequence 00023 from TrgGemSequence import TrgGemSequence 00024 from TrgRoiAsTiles import TrgRoiAsTiles 00025 from TrgGemPeriodicCondition import TrgGemPeriodicCondition 00026 from TrgPeriodic import TrgDefaultPeriodicCondition 00027 00028 """TrgUsingTiles: Implementation of a tile-based trigger system""" 00029 00030 class TrgUsingTiles(rcTrgGem): 00031 """\brief Trigger Using Tiles class definition 00032 """ 00033 def __init__(self): 00034 """\brief TrgUsingTiles constructor 00035 """ 00036 self.__pCondition = DefaultPeriodicCondition() 00037 self.__sequence = DefaultSequence() 00038 self.__roi = TrgRoiAsTiles() 00039 rcTrgGem.__init__(self) 00040 00041 def coincidences(self): 00042 """\brief Coincdences 'pure virtual' method 00043 00044 \return A TrgCoincidences object 00045 """ 00046 raise NotImplementedError 00047 00048 # Pure Virtual function implementation 00049 def useAcdAsTrigger(self): 00050 return True 00051 00052 def periodicCondition(self): 00053 return self.__pCondition 00054 00055 def sequence(self): 00056 return self.__sequence 00057 00058 def roi(self): 00059 return self.__roi 00060 00061 class DefaultPeriodicCondition(TrgGemPeriodicCondition): 00062 """\brief DefaultPeriodicCondition class 00063 """ 00064 def __init__(self): 00065 """\brief DefaultPeriodicCondition constructor 00066 """ 00067 TrgGemPeriodicCondition.__init__(self) 00068 self.__cond = TrgDefaultPeriodicCondition() 00069 00070 def definition(self): 00071 """\brief definition() method 00072 See TrgPeriodicCondition base class 00073 """ 00074 return self.__cond 00075 00076 class DefaultSequence(TrgGemSequence): 00077 def __init__(self): 00078 """\brief DefaultSequence constructor 00079 """ 00080 TrgGemSequence.__init__(self) 00081 self.__cond = TrgDefaultSequence() 00082 00083 def definition(self): 00084 """\brief definition() method 00085 See TrgSequence base class 00086 """ 00087 return self.__cond 00088 00089