CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/RecoLocalTracker/SiStripZeroSuppression/interface/TT6CMNSubtractor.h

Go to the documentation of this file.
00001 #ifndef RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPTT6COMMONMODENOISESUBTRACTION_H
00002 #define RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPTT6COMMONMODENOISESUBTRACTION_H
00003 #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripCommonModeNoiseSubtractor.h"
00004 
00005 #include "FWCore/Framework/interface/ESHandle.h"
00006 class SiStripNoises;
00007 class SiStripQuality;
00008 
00009 class TT6CMNSubtractor : public SiStripCommonModeNoiseSubtractor {
00010   
00011   friend class SiStripRawProcessingFactory;
00012   
00013  public:
00014   
00015   void init(const edm::EventSetup& es);
00016   void subtract(const uint32_t&, const uint16_t&, std::vector<int16_t>&);
00017   void subtract(const uint32_t&, const uint16_t&, std::vector<float>&);
00018   
00019  private:
00020 
00021   template<typename T >void subtract_(const uint32_t&,  const uint16_t&, std::vector<T>&);
00022 
00023   TT6CMNSubtractor(double in) : 
00024     cut_to_avoid_signal_(in),
00025     noise_cache_id(0),
00026     quality_cache_id(0) {};
00027   double cut_to_avoid_signal_;
00028   edm::ESHandle<SiStripNoises> noiseHandle;
00029   edm::ESHandle<SiStripQuality> qualityHandle;
00030   uint32_t noise_cache_id, quality_cache_id;
00031   
00032 };
00033 #endif