emcDataProcessor.h

Go to the documentation of this file.
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