Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:16

0001 #include "DataFormats/GsfTrackReco/interface/GsfTrack.h"
0002 using namespace reco;
0003 
0004 GsfTrack::GsfTrack() {
0005   chargeMode_ = 0;
0006   momentumMode_ = Vector(0., 0., 0.);
0007   typedef unsigned int index;
0008   index idx = 0;
0009   for (index i = 0; i < dimensionMode; ++i)
0010     for (index j = 0; j <= i; ++j)
0011       covarianceMode_[idx++] = 0.;
0012 }
0013 
0014 GsfTrack::GsfTrack(
0015     double chi2, double ndof, const Point& vertex, const Vector& momentum, int charge, const CovarianceMatrix& cov)
0016     : Track(chi2, ndof, vertex, momentum, charge, cov), chargeMode_(charge), momentumMode_(momentum) {
0017   typedef unsigned int index;
0018   index idx = 0;
0019   for (index i = 0; i < dimensionMode; ++i)
0020     for (index j = 0; j <= i; ++j)
0021       covarianceMode_[idx++] = cov(i, j);
0022 }
0023 
0024 void GsfTrack::setMode(int chargeMode, const Vector& momentumMode, const CovarianceMatrixMode& covarianceMode) {
0025   chargeMode_ = chargeMode;
0026   momentumMode_ = momentumMode;
0027   typedef unsigned int index;
0028   index idx = 0;
0029   for (index i = 0; i < dimensionMode; ++i)
0030     for (index j = 0; j <= i; ++j)
0031       covarianceMode_[idx++] = covarianceMode(i, j);
0032 }
0033 
0034 GsfTrack::CovarianceMatrixMode& GsfTrack::fill(CovarianceMatrixMode& v) const {
0035   typedef unsigned int index;
0036   index idx = 0;
0037   for (index i = 0; i < dimensionMode; ++i)
0038     for (index j = 0; j <= i; ++j)
0039       v(i, j) = covarianceMode_[idx++];
0040   return v;
0041 }