00001 #ifndef GsfTrackReco_GsfComponent5D_h 00002 #define GsfTrackReco_GsfComponent5D_h 00003 00004 #include "DataFormats/Math/interface/Vector.h" 00005 #include "DataFormats/Math/interface/Error.h" 00006 00008 namespace reco { 00009 class GsfComponent5D { 00010 public: 00011 enum { dimension = 5 }; 00012 typedef math::Vector<dimension>::type ParameterVector; 00013 typedef math::Error<dimension>::type CovarianceMatrix; 00014 GsfComponent5D () : 00015 weight_(0.) {} 00016 GsfComponent5D (const double& weight, 00017 const ParameterVector& vector, 00018 const CovarianceMatrix& matrix); 00019 double weight() const {return weight_;} 00020 const ParameterVector& parameters () const {return parameters_;} 00021 CovarianceMatrix& covariance (CovarianceMatrix& matrix) const; 00022 private: 00023 double weight_; 00024 ParameterVector parameters_; 00025 float covariance_[dimension*(dimension+1)/2]; 00026 }; 00027 } 00028 #endif