CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/RecoVertex/LinearizationPointFinders/interface/GenericLinearizationPointFinder.h

Go to the documentation of this file.
00001 #ifndef GenericLinearizationPointFinder_H
00002 #define GenericLinearizationPointFinder_H
00003 
00004 #include "RecoVertex/VertexTools/interface/LinearizationPointFinder.h"
00005 #include "RecoVertex/VertexPrimitives/interface/VertexFitter.h"
00006 
00011 class GenericLinearizationPointFinder : public LinearizationPointFinder {
00012 
00013 public:
00014 
00015   GenericLinearizationPointFinder ( const VertexFitter & fitter ) : 
00016     theFitter ( fitter.clone() ) {}
00017 
00018   ~GenericLinearizationPointFinder () { delete theFitter; }
00019 
00022   virtual 
00023   GlobalPoint getLinearizationPoint(const std::vector<reco::TransientTrack> & tracks) const { 
00024     return theFitter->vertex ( tracks ).position(); 
00025   }
00026 
00029   virtual LinearizationPointFinder * clone() const {
00030     return new GenericLinearizationPointFinder(* this);
00031   }
00032 
00033 private:
00034 
00035   const VertexFitter * theFitter;
00036 
00037 };
00038 
00039 #endif