//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Implementation of class TCovEllipse // see TCovEllipse.hh for details // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM (original author) // // //----------------------------------------------------------- // Panda Headers ---------------------- // This Class' Header ------------------ #include "TCovEllipse.h" // C/C++ Headers ---------------------- #include // Collaborating Class Headers -------- #include "TMath.h" // Class Member definitions ----------- ClassImp(TCovEllipse) TCovEllipse::TCovEllipse() : TEllipse(), _sig(1) { SetFillStyle(0); } TCovEllipse::TCovEllipse(const TMatrixT& cov, double x0, double y0, int i, int j) : TEllipse(),_cov(cov), _x0(x0), _y0(y0), _i(i), _j(j) { recalc(); SetFillStyle(0); } void TCovEllipse::setCov(const TMatrixT& cov) { _cov=cov; recalc(); } void TCovEllipse::setMean(double x, double y) { SetX1(x); SetY1(y); } void TCovEllipse::recalc() { double sig1=sqrt(_cov[_i][_i]); double sig2=sqrt(_cov[_j][_j]); double rho=_cov[_i][_j]/(sig1*sig2); double theta=0; if(_cov[_i][_i]!=_cov[_j][_j]){ double term=2.*rho*sig1*sig2/(_cov[_i][_i]-_cov[_j][_j]); theta=TMath::ATan(term)*0.5; } //std::cout<