00001 #ifndef RecoEcal_EgammaCoreTools_EcalClusterFunctionBaseClass_hh 00002 #define RecoEcal_EgammaCoreTools_EcalClusterFunctionBaseClass_hh 00003 00014 //#include "FWCore/Framework/interface/ESHandle.h" 00015 //#include "FWCore/Framework/interface/EventSetup.h" 00016 #include "DataFormats/EgammaReco/interface/BasicCluster.h" 00017 #include "DataFormats/EgammaReco/interface/SuperCluster.h" 00018 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" 00019 00020 namespace edm { 00021 class Event; 00022 class EventSetup; 00023 class ParameterSet; 00024 } 00025 00026 00027 class EcalClusterFunctionBaseClass { 00028 public: 00029 virtual ~EcalClusterFunctionBaseClass() {}; 00030 virtual void init( const edm::EventSetup& es ) = 0; 00031 virtual float getValue( const reco::BasicCluster &, const EcalRecHitCollection & ) const = 0; 00032 virtual float getValue( const reco::SuperCluster &, const int mode ) const = 0; 00033 //this one is needed for EcalClusterCrackCorrection: 00034 virtual float getValue( const reco::CaloCluster &) const {return 0;}; 00035 00036 }; 00037 00038 #endif