Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:39

0001 #ifndef SimDataFormats_Associations_MtdRecoClusterToSimLayerClusterAssociator_h
0002 #define SimDataFormats_Associations_MtdRecoClusterToSimLayerClusterAssociator_h
0003 // Original Author:  Martina Malberti
0004 
0005 // system include files
0006 #include <memory>
0007 
0008 // user include files
0009 #include "SimDataFormats/Associations/interface/MtdRecoClusterToSimLayerClusterAssociatorBaseImpl.h"
0010 
0011 // forward declarations
0012 
0013 namespace reco {
0014 
0015   class MtdRecoClusterToSimLayerClusterAssociator {
0016   public:
0017     MtdRecoClusterToSimLayerClusterAssociator(std::unique_ptr<reco::MtdRecoClusterToSimLayerClusterAssociatorBaseImpl>);
0018     MtdRecoClusterToSimLayerClusterAssociator() = default;
0019     MtdRecoClusterToSimLayerClusterAssociator(MtdRecoClusterToSimLayerClusterAssociator &&) = default;
0020     MtdRecoClusterToSimLayerClusterAssociator &operator=(MtdRecoClusterToSimLayerClusterAssociator &&) = default;
0021     MtdRecoClusterToSimLayerClusterAssociator(const MtdRecoClusterToSimLayerClusterAssociator &) =
0022         delete;  // stop default
0023 
0024     ~MtdRecoClusterToSimLayerClusterAssociator() = default;
0025     const MtdRecoClusterToSimLayerClusterAssociator &operator=(const MtdRecoClusterToSimLayerClusterAssociator &) =
0026         delete;  // stop default
0027 
0028     // ---------- const member functions ---------------------
0029     /// Associate RecoCluster to MtdSimLayerCluster
0030     reco::RecoToSimCollectionMtd associateRecoToSim(const edm::Handle<FTLClusterCollection> &btlRecoClusH,
0031                                                     const edm::Handle<FTLClusterCollection> &etlRecoClusH,
0032                                                     const edm::Handle<MtdSimLayerClusterCollection> &simClusH) const {
0033       return m_impl->associateRecoToSim(btlRecoClusH, etlRecoClusH, simClusH);
0034     };
0035 
0036     /// Associate MtdSimLayerCluster to RecoCluster
0037     reco::SimToRecoCollectionMtd associateSimToReco(const edm::Handle<FTLClusterCollection> &btlRecoClusH,
0038                                                     const edm::Handle<FTLClusterCollection> &etlRecoClusH,
0039                                                     const edm::Handle<MtdSimLayerClusterCollection> &simClusH) const {
0040       return m_impl->associateSimToReco(btlRecoClusH, etlRecoClusH, simClusH);
0041     };
0042 
0043   private:
0044     // ---------- member data --------------------------------
0045     std::unique_ptr<MtdRecoClusterToSimLayerClusterAssociatorBaseImpl> m_impl;
0046   };
0047 }  // namespace reco
0048 
0049 #endif