00001 #ifndef RecoLocalCalo_EcalRecAlgos_EcalUncalibRecHitRecAbsAlgo_HH 00002 #define RecoLocalCalo_EcalRecAlgos_EcalUncalibRecHitRecAbsAlgo_HH 00003 00014 #include "Math/SVector.h" 00015 #include "Math/SMatrix.h" 00016 #include <vector> 00017 #include "DataFormats/EcalRecHit/interface/EcalUncalibratedRecHit.h" 00018 #include "CondFormats/EcalObjects/interface/EcalWeightSet.h" 00019 00020 template<class C> class EcalUncalibRecHitRecAbsAlgo 00021 { 00022 public: 00023 enum { nWeightsRows = 3, iAmplitude = 0, iPedestal = 1, iTime = 2 }; 00024 00026 //EcalUncalibRecHitRecAbsAlgo() { }; 00027 00029 //virtual ~EcalUncalibRecHitRecAbsAlgo() { }; 00030 00032 00033 virtual EcalUncalibratedRecHit makeRecHit(const C& dataFrame, 00034 const double* pedestals, 00035 const double* gainRatios, 00036 const EcalWeightSet::EcalWeightMatrix** weights, 00037 const EcalWeightSet::EcalChi2WeightMatrix** chi2Matrix) = 0; 00038 00039 }; 00040 #endif