CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/RecoVertex/ConfigurableVertexReco/interface/AbstractConfFitter.h

Go to the documentation of this file.
00001 #ifndef _AbstractConfFitter_H_
00002 #define _AbstractConfFitter_H_
00003 
00004 #include "RecoVertex/VertexPrimitives/interface/VertexFitter.h"
00005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00006 
00012 class AbstractConfFitter : public VertexFitter<5>
00013 {
00014   public:
00015 
00016     typedef CachingVertex<5>::RefCountedVertexTrack RefCountedVertexTrack;
00020     AbstractConfFitter ( const VertexFitter<5> & f );
00021     AbstractConfFitter ();
00022     AbstractConfFitter ( const AbstractConfFitter & );
00023 
00024     virtual void configure ( const edm::ParameterSet & ) = 0;
00025     virtual edm::ParameterSet defaults() const = 0;
00026     virtual ~AbstractConfFitter();
00027     AbstractConfFitter * clone() const = 0;
00028 
00029     CachingVertex<5> vertex ( const std::vector < reco::TransientTrack > & t ) const;
00030     CachingVertex<5> vertex( const std::vector<RefCountedVertexTrack> & tracks) const;
00031     CachingVertex<5> vertex( const std::vector<RefCountedVertexTrack> & tracks,
00032         const reco::BeamSpot & spot ) const;
00033     CachingVertex<5> vertex( const std::vector<reco::TransientTrack> & tracks, 
00034         const GlobalPoint& linPoint) const;
00035     CachingVertex<5> vertex( const std::vector<reco::TransientTrack> & tracks, 
00036         const GlobalPoint& priorPos, const GlobalError& priorError) const;
00037     CachingVertex<5> vertex( const std::vector<reco::TransientTrack> & tracks, 
00038                           const reco::BeamSpot& beamSpot) const;
00039     CachingVertex<5> vertex(const std::vector<RefCountedVertexTrack> & tracks, 
00040       const GlobalPoint& priorPos, const GlobalError& priorError) const;
00041  public:
00042     const VertexFitter<5> * theFitter;
00043 };
00044 
00045 #endif