CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
VertexReconstructor.h
Go to the documentation of this file.
1 #ifndef _VertexReconstructor_H_
2 #define _VertexReconstructor_H_
3 
7 #include <vector>
8 
14 public:
16  virtual ~VertexReconstructor() {}
17 
20  virtual std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack> &) const = 0;
21 
25  virtual std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack> &t,
26  const reco::BeamSpot &) const {
27  return vertices(t);
28  }
29 
39  virtual std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack> &primaries,
40  const std::vector<reco::TransientTrack> &tracks,
41  const reco::BeamSpot &spot) const {
42  return vertices(tracks, spot);
43  }
44 
45  virtual VertexReconstructor *clone() const = 0;
46 };
47 
48 #endif
virtual std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &t, const reco::BeamSpot &) const
virtual std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &) const =0
auto const & tracks
cannot be loose
virtual std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &primaries, const std::vector< reco::TransientTrack > &tracks, const reco::BeamSpot &spot) const
virtual VertexReconstructor * clone() const =0