File indexing completed on 2024-04-06 12:29:39
0001 #ifndef SimDataFormats_Associations_MultiClusterToCaloParticleAssociator_h
0002 #define SimDataFormats_Associations_MultiClusterToCaloParticleAssociator_h
0003
0004
0005
0006 #include <memory>
0007
0008
0009
0010 #include "SimDataFormats/Associations/interface/MultiClusterToCaloParticleAssociatorBaseImpl.h"
0011
0012
0013
0014 namespace hgcal {
0015
0016 class MultiClusterToCaloParticleAssociator {
0017 public:
0018 MultiClusterToCaloParticleAssociator(std::unique_ptr<hgcal::MultiClusterToCaloParticleAssociatorBaseImpl>);
0019 MultiClusterToCaloParticleAssociator() = default;
0020 MultiClusterToCaloParticleAssociator(MultiClusterToCaloParticleAssociator &&) = default;
0021 MultiClusterToCaloParticleAssociator &operator=(MultiClusterToCaloParticleAssociator &&) = default;
0022 MultiClusterToCaloParticleAssociator(const MultiClusterToCaloParticleAssociator &) = delete;
0023 const MultiClusterToCaloParticleAssociator &operator=(const MultiClusterToCaloParticleAssociator &) =
0024 delete;
0025
0026 ~MultiClusterToCaloParticleAssociator() = default;
0027
0028
0029
0030 hgcal::RecoToSimCollectionWithMultiClusters associateRecoToSim(
0031 const edm::Handle<reco::HGCalMultiClusterCollection> &cCCH,
0032 const edm::Handle<CaloParticleCollection> &cPCH) const {
0033 return m_impl->associateRecoToSim(cCCH, cPCH);
0034 };
0035
0036
0037 hgcal::SimToRecoCollectionWithMultiClusters associateSimToReco(
0038 const edm::Handle<reco::HGCalMultiClusterCollection> &cCCH,
0039 const edm::Handle<CaloParticleCollection> &cPCH) const {
0040 return m_impl->associateSimToReco(cCCH, cPCH);
0041 }
0042
0043 private:
0044
0045 std::unique_ptr<MultiClusterToCaloParticleAssociatorBaseImpl> m_impl;
0046 };
0047 }
0048
0049 #endif