CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/RecoVertex/GhostTrackFitter/interface/VertexGhostTrackState.h

Go to the documentation of this file.
00001 #ifndef RecoBTag_VertexGhostTrackState_h
00002 #define RecoBTag_VertexGhostTrackState_h
00003 
00004 #include <utility>
00005 
00006 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00007 #include "DataFormats/GeometryCommonDetAlgo/interface/GlobalError.h"
00008 
00009 #include "RecoVertex/GhostTrackFitter/interface/BasicGhostTrackState.h"
00010 
00011 namespace reco {
00012 
00013 class GhostTrackPrediction;
00014 
00015 class VertexGhostTrackState : public BasicGhostTrackState {
00016     public:
00017         VertexGhostTrackState(const GlobalPoint &pos,
00018                               const CovarianceMatrix &cov) :
00019                 position_(pos), covariance_(cov) {}
00020 
00021         GlobalPoint globalPosition() const { return position_; }
00022         GlobalError cartesianError() const { return covariance_; }
00023         CovarianceMatrix cartesianCovariance() const { return covariance_; }
00024 
00025         Vertex vertexStateOnGhostTrack(const GhostTrackPrediction &pred,
00026                                        bool withMeasurementError) const;
00027         Vertex vertexStateOnMeasurement(const GhostTrackPrediction &pred,
00028                                         bool withGhostTrackError) const;
00029 
00030     private:
00031         BasicGhostTrackState *clone() const
00032         { return new VertexGhostTrackState(*this); }
00033 
00034         GlobalPoint             position_;
00035         CovarianceMatrix        covariance_;
00036 };
00037 
00038 }
00039 
00040 #endif // RecoBTag_VertexGhostTrackState_h