Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef SimDataFormats_Associations_MtdSimLayerClusterToTPAssociator_h
0002 #define SimDataFormats_Associations_MtdSimLayerClusterToTPAssociator_h
0003 // Author:  M. Malberti
0004 
0005 // system include files
0006 #include <memory>
0007 
0008 // user include files
0009 
0010 #include "SimDataFormats/Associations/interface/MtdSimLayerClusterToTPAssociatorBaseImpl.h"
0011 
0012 // forward declarations
0013 
0014 namespace reco {
0015   class MtdSimLayerClusterToTPAssociator {
0016   public:
0017     MtdSimLayerClusterToTPAssociator(std::unique_ptr<reco::MtdSimLayerClusterToTPAssociatorBaseImpl>);
0018     MtdSimLayerClusterToTPAssociator() = default;
0019     MtdSimLayerClusterToTPAssociator(MtdSimLayerClusterToTPAssociator &&) = default;
0020     MtdSimLayerClusterToTPAssociator &operator=(MtdSimLayerClusterToTPAssociator &&) = default;
0021     MtdSimLayerClusterToTPAssociator(const MtdSimLayerClusterToTPAssociator &) = delete;  // stop default
0022     const MtdSimLayerClusterToTPAssociator &operator=(const MtdSimLayerClusterToTPAssociator &) =
0023         delete;  // stop default
0024 
0025     ~MtdSimLayerClusterToTPAssociator() = default;
0026 
0027     // ---------- const member functions ---------------------
0028     /// Associate MtdSimLayerCluster to TrackingParticle
0029     reco::SimToTPCollectionMtd associateSimToTP(const edm::Handle<MtdSimLayerClusterCollection> &simClusH,
0030                                                 const edm::Handle<TrackingParticleCollection> &trackingParticleH) const {
0031       return m_impl->associateSimToTP(simClusH, trackingParticleH);
0032     };
0033 
0034     /// Associate TrackingParticle to MtdSimLayerCluster
0035     reco::TPToSimCollectionMtd associateTPToSim(const edm::Handle<MtdSimLayerClusterCollection> &simClusH,
0036                                                 const edm::Handle<TrackingParticleCollection> &trackingParticleH) const {
0037       return m_impl->associateTPToSim(simClusH, trackingParticleH);
0038     };
0039 
0040   private:
0041     // ---------- member data --------------------------------
0042     std::unique_ptr<MtdSimLayerClusterToTPAssociatorBaseImpl> m_impl;
0043   };
0044 }  // namespace reco
0045 
0046 #endif