Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-08-04 02:02:58

0001 #ifndef SimDataFormats_Associations_TracksterToSimTracksterAssociator_h
0002 #define SimDataFormats_Associations_TracksterToSimTracksterAssociator_h
0003 // Original Author:  Leonardo Cristella
0004 
0005 // system include files
0006 #include <memory>
0007 
0008 // user include files
0009 
0010 #include "SimDataFormats/Associations/interface/TracksterToSimTracksterAssociatorBaseImpl.h"
0011 
0012 // forward declarations
0013 
0014 namespace hgcal {
0015 
0016   class TracksterToSimTracksterAssociator {
0017   public:
0018     TracksterToSimTracksterAssociator(std::unique_ptr<hgcal::TracksterToSimTracksterAssociatorBaseImpl>);
0019     TracksterToSimTracksterAssociator() = default;
0020     TracksterToSimTracksterAssociator(TracksterToSimTracksterAssociator &&) = default;
0021     TracksterToSimTracksterAssociator &operator=(TracksterToSimTracksterAssociator &&) = default;
0022     TracksterToSimTracksterAssociator(const TracksterToSimTracksterAssociator &) = delete;  // stop default
0023     const TracksterToSimTracksterAssociator &operator=(const TracksterToSimTracksterAssociator &) =
0024         delete;  // stop default
0025 
0026     ~TracksterToSimTracksterAssociator() = default;
0027 
0028     // ---------- const member functions ---------------------
0029     /// Associate a Trackster to SimClusters
0030     hgcal::RecoToSimCollectionSimTracksters associateRecoToSim(
0031         const edm::Handle<ticl::TracksterCollection> &tCH,
0032         const edm::Handle<reco::CaloClusterCollection> &lCCH,
0033         const edm::Handle<ticl::TracksterCollection> &sTCH) const {
0034       return m_impl->associateRecoToSim(tCH, lCCH, sTCH);
0035     };
0036 
0037     /// Associate a SimCluster to Tracksters
0038     hgcal::SimToRecoCollectionSimTracksters associateSimToReco(
0039         const edm::Handle<ticl::TracksterCollection> &tCH,
0040         const edm::Handle<reco::CaloClusterCollection> &lCCH,
0041         const edm::Handle<ticl::TracksterCollection> &sTCH) const {
0042       return m_impl->associateSimToReco(tCH, lCCH, sTCH);
0043     }
0044 
0045   private:
0046     // ---------- member data --------------------------------
0047     std::unique_ptr<TracksterToSimTracksterAssociatorBaseImpl> m_impl;
0048   };
0049 }  // namespace hgcal
0050 
0051 #endif