File indexing completed on 2024-04-06 12:04:16
0001 #ifndef GsfTrackReco_GsfComponent5D_h
0002 #define GsfTrackReco_GsfComponent5D_h
0003
0004 #include "DataFormats/Math/interface/Vector.h"
0005 #include "DataFormats/Math/interface/Error.h"
0006
0007
0008 namespace reco {
0009 class GsfComponent5D {
0010 public:
0011 enum { dimension = 5 };
0012 typedef math::Vector<dimension>::type ParameterVector;
0013 typedef math::Error<dimension>::type CovarianceMatrix;
0014 GsfComponent5D() : weight_(0.) {}
0015 GsfComponent5D(const double& weight, const ParameterVector& vector, const CovarianceMatrix& matrix);
0016 double weight() const { return weight_; }
0017 const ParameterVector& parameters() const { return parameters_; }
0018 CovarianceMatrix& covariance(CovarianceMatrix& matrix) const;
0019
0020 private:
0021 double weight_;
0022 ParameterVector parameters_;
0023 float covariance_[dimension * (dimension + 1) / 2];
0024 };
0025 }
0026 #endif