Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-05-29 23:13:10

0001 #ifndef SimDataFormats_Associations_TracksterToSimClusterAssociator_h
0002 #define SimDataFormats_Associations_TracksterToSimClusterAssociator_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/TracksterToSimClusterAssociatorBaseImpl.h"
0011 
0012 // forward declarations
0013 
0014 namespace ticl {
0015 
0016   class TracksterToSimClusterAssociator {
0017   public:
0018     TracksterToSimClusterAssociator(std::unique_ptr<ticl::TracksterToSimClusterAssociatorBaseImpl>);
0019     TracksterToSimClusterAssociator() = default;
0020     TracksterToSimClusterAssociator(TracksterToSimClusterAssociator &&) = default;
0021     TracksterToSimClusterAssociator &operator=(TracksterToSimClusterAssociator &&) = default;
0022     TracksterToSimClusterAssociator(const TracksterToSimClusterAssociator &) = delete;                   // stop default
0023     const TracksterToSimClusterAssociator &operator=(const TracksterToSimClusterAssociator &) = delete;  // stop default
0024 
0025     ~TracksterToSimClusterAssociator() = default;
0026 
0027     // ---------- const member functions ---------------------
0028     /// Associate a Trackster to SimClusters
0029     ticl::RecoToSimCollectionTracksters associateRecoToSim(const edm::Handle<ticl::TracksterCollection> &tCH,
0030                                                            const edm::Handle<reco::CaloClusterCollection> &lCCH,
0031                                                            const edm::Handle<SimClusterCollection> &sCCH) const {
0032       return m_impl->associateRecoToSim(tCH, lCCH, sCCH);
0033     };
0034 
0035     /// Associate a SimCluster to Tracksters
0036     ticl::SimToRecoCollectionTracksters associateSimToReco(const edm::Handle<ticl::TracksterCollection> &tCH,
0037                                                            const edm::Handle<reco::CaloClusterCollection> &lCCH,
0038                                                            const edm::Handle<SimClusterCollection> &sCCH) const {
0039       return m_impl->associateSimToReco(tCH, lCCH, sCCH);
0040     }
0041 
0042   private:
0043     // ---------- member data --------------------------------
0044     std::unique_ptr<TracksterToSimClusterAssociatorBaseImpl> m_impl;
0045   };
0046 }  // namespace ticl
0047 
0048 #endif