00001 #ifndef _LinearizationPointFinder_H_ 00002 #define _LinearizationPointFinder_H_ 00003 00004 #include "TrackingTools/TransientTrack/interface/TransientTrack.h" 00005 #include "DataFormats/GeometryVector/interface/GlobalPoint.h" 00006 #include <vector> 00007 class FreeTrajectoryState; 00008 00012 class LinearizationPointFinder{ 00013 00014 public: 00015 virtual ~LinearizationPointFinder() {} 00016 00021 virtual GlobalPoint getLinearizationPoint(const std::vector<reco::TransientTrack> &) 00022 const=0; 00023 00024 virtual GlobalPoint getLinearizationPoint(const std::vector<FreeTrajectoryState> &) const; 00025 00029 virtual LinearizationPointFinder * clone() const=0; 00030 00031 }; 00032 00033 #endif