CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/RecoEcal/EgammaCoreTools/interface/EcalClusterFunctionBaseClass.h

Go to the documentation of this file.
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