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: P04-06-05 $"
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