CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_6/src/SimCalorimetry/EcalZeroSuppressionAlgos/interface/TrivialAmplitudeAlgo.h

Go to the documentation of this file.
00001 #ifndef EcalZeroSuppressionAlgos_TrivialAmplitudeAlgo_h
00002 #define EcalZeroSuppressionAlgos_TrivialAmplitudeAlgo_h
00003 
00004 /*
00005  * \file TrivialAmplitudeAlgo.h
00006  *
00007  * $Date: 2011/05/20 17:17:34 $
00008  * $Revision: 1.6 $
00009  * \author F. Cossutti
00010  *
00011  * simple weights algorithm for energy and pedestal reconstruction
00012  *
00013 */
00014 
00015 
00016 #include "FWCore/Framework/interface/EDProducer.h"
00017 #include "FWCore/Framework/interface/Event.h"
00018 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00019 #include "FWCore/Framework/interface/ESHandle.h"
00020 #include "FWCore/Framework/interface/EventSetup.h"
00021 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00022 
00023 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
00024 
00025 #include <vector>
00026 
00027 template<class C> class TrivialAmplitudeAlgo 
00028 {
00029 public:
00030 
00031   explicit TrivialAmplitudeAlgo();
00032   virtual ~TrivialAmplitudeAlgo(){};
00033 
00034   double energy(const C& frame);
00035 
00036   double pedestal(const C& frame);
00037 
00038  private:
00039 
00040   std::vector<double> theWeights;
00041   std::vector<double> theGainFactors;
00042 
00043 };
00044 
00045 #include "TrivialAmplitudeAlgo.icc"
00046 #endif