00001 #ifndef __EMCDATAPROCESSORV2_H__
00002 #define __EMCDATAPROCESSORV2_H__
00003
00004 #ifndef __EMCDATAPROCESSOR_H__
00005 #include "emcDataProcessor.h"
00006 #include "emcManageable.h"
00007 #endif
00008 #include <set>
00009
00010 class emcPacketProcessor;
00011 class emcRawDataProcessor;
00012 class emcDCProcessor;
00013 class emcCalibrationDataHelper;
00014 class PHTimeStamp;
00015
00020 class emcDataProcessorv2 : public emcDataProcessor
00021 {
00022
00023 public:
00024
00025 emcDataProcessorv2();
00026
00027 emcDataProcessorv2(int runnumber, const PHTimeStamp& ts,
00028 bool initall = true,
00029 emcManageable::EStorage dataSource=emcManageable::kDB_Pg,
00030 const char* sectors = "emcal");
00031
00032 virtual ~emcDataProcessorv2();
00033
00034 virtual bool calibrate(emcTowerContainer* pbsc,
00035 emcTowerContainer* pbgl,
00036 time_t incrementalTime=0);
00037
00038 virtual bool decode(const Event& event,
00039 emcTowerContainer* pbsc,
00040 emcTowerContainer* pbgl);
00041
00042 virtual void identify(std::ostream& os=std::cout) const;
00043
00044 virtual int isValid() const;
00045
00046 virtual void Reset();
00047
00048 virtual bool toADCandTDC(emcTowerContainer* pbsc,
00049 emcTowerContainer* pbgl,
00050 const emcBadModules& bad);
00051
00052 virtual void setRunNumber(int runnumber) { fRunNumber = runnumber; }
00053
00055 emcCalibrationDataHelper* getCalibrationDataHelper() const;
00056
00057 protected:
00058
00059
00060 virtual emcDCProcessor*
00061 getDCProcessor(emcCalibrationDataHelper*) const;
00062
00063 virtual emcPacketProcessor*
00064 getPacketProcessor() const;
00065
00066 virtual emcRawDataProcessor*
00067 getRawDataProcessor(emcCalibrationDataHelper*) const;
00068
00069 private:
00070
00071 emcPacketProcessor* fPacketProcessor;
00072 emcRawDataProcessor* fRawDataProcessor;
00073 emcDCProcessor* fDCProcessor;
00074 emcCalibrationDataHelper* fCalibrationDataHelper;
00075
00076 int fRunNumber;
00077 PHTimeStamp* fTimeStamp;
00078 std::set<int> fFemList;
00079
00080 ClassDef(emcDataProcessorv2,0)
00081 };
00082
00083 #endif