File indexing completed on 2024-04-06 12:25:39
0001 #ifndef RecoLocalCalo_EcalRecAlgos_EcalUncalibRecHitRecAbsAlgo_HH
0002 #define RecoLocalCalo_EcalRecAlgos_EcalUncalibRecHitRecAbsAlgo_HH
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "Math/SVector.h"
0012 #include "Math/SMatrix.h"
0013 #include <vector>
0014 #include "DataFormats/EcalRecHit/interface/EcalUncalibratedRecHit.h"
0015 #include "CondFormats/EcalObjects/interface/EcalWeightSet.h"
0016
0017 template <class C>
0018 class EcalUncalibRecHitRecAbsAlgo {
0019 public:
0020 enum { nWeightsRows = 3, iAmplitude = 0, iPedestal = 1, iTime = 2 };
0021
0022
0023
0024
0025
0026 virtual ~EcalUncalibRecHitRecAbsAlgo() = default;
0027
0028
0029
0030 virtual EcalUncalibratedRecHit makeRecHit(const C& dataFrame,
0031 const double* pedestals,
0032 const double* gainRatios,
0033 const EcalWeightSet::EcalWeightMatrix** weights,
0034 const EcalWeightSet::EcalChi2WeightMatrix** chi2Matrix) = 0;
0035 };
0036 #endif