00001 #ifndef __EMCDATAPROCESSOR_H__ 00002 #define __EMCDATAPROCESSOR_H__ 00003 00004 #ifndef __PHOBJECT_H__ 00005 #include "PHObject.h" 00006 #endif 00007 #include <ctime> // for time_t 00008 00009 class Event; 00010 class emcTowerContainer; 00011 class emcBadModules; 00012 00034 class emcDataProcessor : public PHObject 00035 { 00036 public: 00037 00039 emcDataProcessor(); 00040 00041 virtual ~emcDataProcessor(); 00042 00046 virtual bool calibrate(emcTowerContainer* pbsc, 00047 emcTowerContainer* pbgl, 00048 time_t incrementalTime=0) = 0; 00049 00052 virtual bool decode(const Event&, 00053 emcTowerContainer* pbsc, 00054 emcTowerContainer* pbgl) = 0; 00055 00063 virtual bool toADCandTDC(emcTowerContainer* pbsc, 00064 emcTowerContainer* pbgl, 00065 const emcBadModules&) = 0; 00066 00067 // virtual void setRunNumber(int runnumber) = 0; 00068 00069 ClassDef(emcDataProcessor,0) // EMCAL Raw Data Processor (ABC) 00070 }; 00071 00072 #endif