CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/DataFormats/GsfTrackReco/interface/GsfTangent.h

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