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 Trigger Object class" 00012 __author__ = "Jim Panetta <panetta@slac.stanford.edu> SLAC - GLAST I&T" 00013 __date__ = "2/14/04" 00014 __version__ = "$Revision: 2.3 $" 00015 __release__ = "$Name: R04-12-00 $" 00016 __credits__ = "SLAC" 00017 00018 import LATTE.copyright_SLAC 00019 00020 00021 """TrgObject: Base class for the trigger. Defines useful quantities""" 00022 00023 00024 class TrgObject(object): 00025 """\brief Trigger Object class definition 00026 """ 00027 TILE_NUMBER_MIN = 0 00028 TILE_NUMBER_MAX = 107 00029 CNO_NUMBER_MIN = 0 00030 CNO_NUMBER_MAX = 11 00031 COINCIDENCE_NUMBER_MIN = 0 00032 COINCIDENCE_NUMBER_MAX = 7 00033 ENGINE_NUMBER_MIN = 0 00034 ENGINE_NUMBER_MAX = 15 00035 TOWER_NUMBER_MIN = 0 00036 TOWER_NUMBER_MAX = 15 00037 CONDITIONS_NUMBER_MIN = 0 00038 CONDITIONS_NUMBER_MAX = 0xff 00039 ROI_NUMBER_MIN = 0 00040 ROI_NUMBER_MAX = 15 00041 00042 # This unfortunately also impacts derived objects. 00043 # Can we FIX THIS? 00044 def __setattr__(self, name, value): 00045 """Reject attempts to modify TrgObject's constants. 00046 """ 00047 assert name not in dir(TrgObject), \ 00048 "Attempt made to modify the constant " + \ 00049 self.__class__.__name__ + "." + name 00050 object.__setattr__(self, name, value)