Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef SimDataFormats_Associations_VertexToTrackingVertexAssociator_h
0002 #define SimDataFormats_Associations_VertexToTrackingVertexAssociator_h
0003 
0004 #include "SimDataFormats/Associations/interface/VertexAssociation.h"
0005 
0006 #include "SimDataFormats/Associations/interface/VertexToTrackingVertexAssociatorBaseImpl.h"
0007 
0008 namespace reco {
0009   class VertexToTrackingVertexAssociator {
0010   public:
0011 #ifndef __GCCXML__
0012     VertexToTrackingVertexAssociator(std::unique_ptr<reco::VertexToTrackingVertexAssociatorBaseImpl>);
0013 #endif
0014     VertexToTrackingVertexAssociator() = default;
0015     VertexToTrackingVertexAssociator(VertexToTrackingVertexAssociator &&) = default;
0016     VertexToTrackingVertexAssociator &operator=(VertexToTrackingVertexAssociator &&) = default;
0017     VertexToTrackingVertexAssociator(const VertexToTrackingVertexAssociator &) = delete;  // stop default
0018     const VertexToTrackingVertexAssociator &operator=(const VertexToTrackingVertexAssociator &) =
0019         delete;  // stop default
0020 
0021     ~VertexToTrackingVertexAssociator() = default;
0022 
0023     // ---------- const member functions ---------------------
0024     /// compare reco to sim the handle of reco::Vertex and TrackingVertex
0025     /// collections
0026     reco::VertexRecoToSimCollection associateRecoToSim(const edm::Handle<edm::View<reco::Vertex>> &vCH,
0027                                                        const edm::Handle<TrackingVertexCollection> &tVCH) const {
0028       return m_impl->associateRecoToSim(vCH, tVCH);
0029     }
0030 
0031     /// compare reco to sim the handle of reco::Vertex and TrackingVertex
0032     /// collections
0033     reco::VertexSimToRecoCollection associateSimToReco(const edm::Handle<edm::View<reco::Vertex>> &vCH,
0034                                                        const edm::Handle<TrackingVertexCollection> &tVCH) const {
0035       return m_impl->associateSimToReco(vCH, tVCH);
0036     }
0037 
0038   private:
0039     // ---------- member data --------------------------------
0040     std::unique_ptr<VertexToTrackingVertexAssociatorBaseImpl> m_impl;
0041   };
0042 }  // namespace reco
0043 
0044 #endif