File indexing completed on 2023-03-17 11:12:18
0001 #ifndef __L1Trigger_L1THGCal_HGCalTriggerClusterInterpreterBase_h__
0002 #define __L1Trigger_L1THGCal_HGCalTriggerClusterInterpreterBase_h__
0003
0004 #include "FWCore/Framework/interface/Frameworkfwd.h"
0005 #include "DataFormats/L1THGCal/interface/HGCalMulticluster.h"
0006 #include "L1Trigger/L1THGCal/interface/HGCalTriggerGeometryBase.h"
0007
0008 class HGCalTriggerClusterInterpreterBase {
0009 public:
0010 HGCalTriggerClusterInterpreterBase(){};
0011 virtual ~HGCalTriggerClusterInterpreterBase(){};
0012 virtual void initialize(const edm::ParameterSet& conf) = 0;
0013 virtual void setGeometry(const HGCalTriggerGeometryBase* const) = 0;
0014 virtual void interpret(l1t::HGCalMulticlusterBxCollection& multiclusters) const = 0;
0015 };
0016
0017 #include "FWCore/PluginManager/interface/PluginFactory.h"
0018 typedef edmplugin::PluginFactory<HGCalTriggerClusterInterpreterBase*()> HGCalTriggerClusterInterpreterFactory;
0019
0020 #define DEFINE_HGC_TPG_CLUSTER_INTERPRETER(type, name) \
0021 DEFINE_EDM_PLUGIN(HGCalTriggerClusterInterpreterFactory, type, name)
0022
0023 #endif