Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-04-17 02:47:10

0001 #ifndef SimDataFormats_Associations_LayerClusterToSimClusterAssociator_h
0002 #define SimDataFormats_Associations_LayerClusterToSimClusterAssociator_h
0003 // Original Author:  Marco Rovere
0004 
0005 // system include files
0006 #include <memory>
0007 
0008 // user include files
0009 
0010 #include "SimDataFormats/Associations/interface/LayerClusterToSimClusterAssociatorBaseImpl.h"
0011 
0012 // forward declarations
0013 
0014 namespace hgcal {
0015 
0016   class LayerClusterToSimClusterAssociator {
0017   public:
0018     LayerClusterToSimClusterAssociator(std::unique_ptr<hgcal::LayerClusterToSimClusterAssociatorBaseImpl>);
0019     LayerClusterToSimClusterAssociator() = default;
0020     LayerClusterToSimClusterAssociator(LayerClusterToSimClusterAssociator &&) = default;
0021     LayerClusterToSimClusterAssociator &operator=(LayerClusterToSimClusterAssociator &&) = default;
0022     LayerClusterToSimClusterAssociator(const LayerClusterToSimClusterAssociator &) = delete;  // stop default
0023 
0024     ~LayerClusterToSimClusterAssociator() = default;
0025     const LayerClusterToSimClusterAssociator &operator=(const LayerClusterToSimClusterAssociator &) =
0026         delete;  // stop default
0027     // ---------- const member functions ---------------------
0028     /// Associate a LayerCluster to SimClusters
0029     hgcal::RecoToSimCollectionWithSimClusters associateRecoToSim(const edm::Handle<reco::CaloClusterCollection> &cCCH,
0030                                                                  const edm::Handle<SimClusterCollection> &sCCH) const {
0031       return m_impl->associateRecoToSim(cCCH, sCCH);
0032     };
0033 
0034     /// Associate a SimCluster to LayerClusters
0035     hgcal::SimToRecoCollectionWithSimClusters associateSimToReco(const edm::Handle<reco::CaloClusterCollection> &cCCH,
0036                                                                  const edm::Handle<SimClusterCollection> &sCCH) const {
0037       return m_impl->associateSimToReco(cCCH, sCCH);
0038     }
0039 
0040   private:
0041     // ---------- member data --------------------------------
0042     std::unique_ptr<LayerClusterToSimClusterAssociatorBaseImpl> m_impl;
0043   };
0044 }  // namespace hgcal
0045 
0046 #endif