Go to the documentation of this file.00001 #ifndef GsfTrackReco_GsfTangent_h
00002 #define GsfTrackReco_GsfTangent_h
00003
00008 #include "DataFormats/Math/interface/Vector3D.h"
00009 #include "DataFormats/Math/interface/Point3D.h"
00010 #include "DataFormats/Math/interface/Vector.h"
00011 #include "DataFormats/GeometryCommonDetAlgo/interface/Measurement1D.h"
00012
00013 namespace reco {
00014
00015 class GsfTangent {
00016 public:
00018 GsfTangent () :
00019 position_(0.,0.,0.), momentum_(0.,0.,0.),
00020 deltaP_(0.), sigDeltaP_(0.) {}
00022 GsfTangent (const math::XYZPoint& position,
00023 const math::XYZVector& momentum,
00024 const Measurement1D& deltaP) :
00025 position_(position), momentum_(momentum) {
00026 deltaP_ = deltaP.value();
00027 sigDeltaP_ = deltaP.error();
00028 }
00029 const math::XYZPoint& position () const {return position_;}
00030 const math::XYZVector& momentum () const {return momentum_;}
00032 Measurement1D deltaP () const {
00033 return Measurement1D(deltaP_,sigDeltaP_);
00034 }
00035
00036 private:
00037 math::XYZPoint position_;
00038 math::XYZVector momentum_;
00039 double deltaP_;
00040 double sigDeltaP_;
00041 };
00042 }
00043 #endif