Go to the documentation of this file.00001 #ifndef RecoLocalTracker_SiStripZeroSuppression_SiStripRawProcessingAlgorithms_h
00002 #define RecoLocalTracker_SiStripZeroSuppression_SiStripRawProcessingAlgorithms_h
00003
00004 #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h"
00005 #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripCommonModeNoiseSubtractor.h"
00006 #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripFedZeroSuppression.h"
00007 #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripAPVRestorer.h"
00008
00009 struct SiStripRawProcessingAlgorithms {
00010 friend class SiStripRawProcessingFactory;
00011
00012 const std::auto_ptr<SiStripPedestalsSubtractor> subtractorPed;
00013 const std::auto_ptr<SiStripCommonModeNoiseSubtractor> subtractorCMN;
00014 const std::auto_ptr<SiStripFedZeroSuppression> suppressor;
00015 const std::auto_ptr<SiStripAPVRestorer> restorer;
00016
00017 void initialize(const edm::EventSetup& es) {
00018 subtractorPed->init(es);
00019 subtractorCMN->init(es);
00020 suppressor->init(es);
00021 if(restorer.get()) restorer->init(es);
00022 }
00023
00024 private:
00025 SiStripRawProcessingAlgorithms(std::auto_ptr<SiStripPedestalsSubtractor> ped,
00026 std::auto_ptr<SiStripCommonModeNoiseSubtractor> cmn,
00027 std::auto_ptr<SiStripFedZeroSuppression> zs,
00028 std::auto_ptr<SiStripAPVRestorer> res)
00029 : subtractorPed(ped),
00030 subtractorCMN(cmn),
00031 suppressor(zs),
00032 restorer(res)
00033 {}
00034 };
00035 #endif