CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/RecoVertex/GhostTrackFitter/interface/PositiveSideGhostTrackFitter.h

Go to the documentation of this file.
00001 #ifndef RecoBTag_PositiveSideGhostTrackFitter_h
00002 #define RecoBTag_PositiveSideGhostTrackFitter_h
00003 
00004 #include <memory>
00005 #include <vector>
00006 
00007 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00008 
00009 #include "RecoVertex/GhostTrackFitter/interface/GhostTrackFitter.h"
00010 
00011 namespace reco {
00012 
00013 class GhostTrackPredictioon;
00014 class GhostTrackState;
00015 
00016 class PositiveSideGhostTrackFitter : public GhostTrackFitter::FitterImpl {
00017     public:
00018         PositiveSideGhostTrackFitter(
00019                         const GlobalPoint &origin,
00020                         const GhostTrackFitter::FitterImpl &actualFitter) :
00021                 origin_(origin), actualFitter_(actualFitter.clone()) {}
00022         ~PositiveSideGhostTrackFitter() {}
00023 
00024         PositiveSideGhostTrackFitter(
00025                                 const PositiveSideGhostTrackFitter &orig) :
00026                 origin_(orig.origin_),
00027                 actualFitter_(orig.actualFitter_->clone()) {}
00028 
00029         GhostTrackPrediction fit(
00030                         const GhostTrackFitter::PredictionUpdater &updater,
00031                         const GhostTrackPrediction &prior,
00032                         std::vector<GhostTrackState> &states,
00033                         double &ndof, double &chi2);
00034 
00035     private:
00036         virtual FitterImpl *clone() const
00037         { return new PositiveSideGhostTrackFitter(*this); }
00038 
00039         GlobalPoint                                     origin_;
00040         std::auto_ptr<GhostTrackFitter::FitterImpl>     actualFitter_;
00041 };
00042 
00043 }
00044 
00045 #endif // RecoBTag_PositiveSideGhostTrackFitter_h