/* Copyright 2008-2010, Technische Universitaet Muenchen, Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch This file is part of GENFIT. GENFIT is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GENFIT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with GENFIT. If not, see . */ #include "MeasuredStateOnPlane.h" #include "AbsTrackRep.h" #include "Exception.h" #include "Tools.h" #include #include #include "TDecompChol.h" namespace genfit { void MeasuredStateOnPlane::Print(Option_t*) const { std::cout << "genfit::MeasuredStateOnPlane "; std::cout << "my address " << this << " my plane's address " << this->sharedPlane_.get() << "; use count: " << sharedPlane_.use_count() << std::endl; std::cout << " state vector: "; state_.Print(); std::cout << " covariance matrix: "; cov_.Print(); if (sharedPlane_ != NULL) { std::cout << " defined in plane "; sharedPlane_->Print(); TVector3 pos, mom; TMatrixDSym cov(6,6); getRep()->getPosMomCov(*this, pos, mom, cov); std::cout << " 3D position: "; pos.Print(); std::cout << " 3D momentum: "; mom.Print(); //std::cout << " 6D covariance: "; cov.Print(); } } void MeasuredStateOnPlane::blowUpCov(double blowUpFac, bool resetOffDiagonals, double maxVal) { unsigned int dim = cov_.GetNcols(); if (resetOffDiagonals) { for (unsigned int i=0; i 0.) for (unsigned int i=0; i