CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/RecoVertex/VertexTools/interface/VertexDistance3D.h

Go to the documentation of this file.
00001 #ifndef Vertex_VertexDistance3D_H
00002 #define Vertex_VertexDistance3D_H
00003 
00004 #include "RecoVertex/VertexTools/interface/VertexDistance.h"
00005 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00006 #include "DataFormats/GeometryCommonDetAlgo/interface/GlobalError.h"
00007 
00013 class VertexDistance3D : public VertexDistance {
00014 
00015 public:
00016   using VertexDistance::compatibility;
00017 
00018   VertexDistance3D() {}
00019 
00028   virtual Measurement1D signedDistance(const reco::Vertex &primVtx , 
00029                                  const reco::Vertex &secVtx,
00030                                  const GlobalVector & momentum) const;
00031 
00032   virtual VertexDistance3D * clone() const
00033   {
00034     return new VertexDistance3D(*this);
00035   }
00036 
00037   using VertexDistance::distance;
00038 
00039 private:
00040 
00041   AlgebraicSymMatrix33 theNullMatrix;
00042   virtual Measurement1D distance(const GlobalPoint & vtx1Position, 
00043                                  const GlobalError & vtx1PositionError, 
00044                                  const GlobalPoint & vtx2Position, 
00045                                  const GlobalError & vtx2PositionError) const;
00046 
00047   virtual float compatibility(const GlobalPoint & vtx1Position, 
00048                               const GlobalError & vtx1PositionError, 
00049                               const GlobalPoint & vtx2Position, 
00050                               const GlobalError & vtx2PositionError) const;
00051 };
00052 
00053 
00054 #endif
00055 
00056 
00057