CMS 3D CMS Logo

VertexFitter.h

Go to the documentation of this file.
00001 #ifndef _VertexFitter_H_
00002 #define _VertexFitter_H_
00003 
00004 #include "RecoVertex/VertexPrimitives/interface/CachingVertex.h"
00005 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
00006 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
00007 
00008 #include <vector>
00009 
00019 template <unsigned int N>
00020 class VertexFitter {
00021 
00022 public:
00023 
00024   VertexFitter() {}
00025 
00026   virtual ~VertexFitter() {}
00027 
00030   virtual CachingVertex<N> 
00031   vertex(const vector<reco::TransientTrack> & tracks) const = 0;
00032 
00036   virtual CachingVertex<N> 
00037   vertex(const vector<typename CachingVertex<N>::RefCountedVertexTrack > & tracks) const = 0;
00038 
00042   virtual CachingVertex<N> 
00043   vertex(const vector<reco::TransientTrack> & tracks, const GlobalPoint& linPoint) const = 0;
00044 
00050   virtual CachingVertex<N> 
00051   vertex(const vector<reco::TransientTrack> & tracks, const GlobalPoint& priorPos,
00052          const GlobalError& priorError) const = 0;
00053 
00058   virtual CachingVertex<N> 
00059   vertex(const vector<reco::TransientTrack> & tracks, const reco::BeamSpot& beamSpot) const = 0;
00060 
00065   virtual CachingVertex<N> 
00066   vertex(const vector<typename CachingVertex<N>::RefCountedVertexTrack > & tracks, 
00067          const GlobalPoint& priorPos,
00068          const GlobalError& priorError) const = 0;
00069 
00072 //   virtual CachingVertex<N> 
00073 //   vertex(const RefCountedVertexSeed vtxSeed) const = 0;
00074 
00075   virtual VertexFitter * clone() const = 0;
00076 
00077 };
00078 
00079 #endif

Generated on Tue Jun 9 17:46:13 2009 for CMSSW by  doxygen 1.5.4