/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
TrackingTools/TrajectoryState/src/FreeTrajectoryState.cc
54 строки
2 KB
Shahzad Malik Muzaffar
[RECONSTRUCTION] apply code-format
08 июн 2021, 21:43
08 июн 2021, 21:43
6a5dc2e
Код
Авторство
О чём код?
#include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h" #include "TrackingTools/AnalyticalJacobians/interface/JacobianCurvilinearToCartesian.h" #include "TrackingTools/AnalyticalJacobians/interface/JacobianCartesianToCurvilinear.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "MagneticField/Engine/interface/MagneticField.h" #include "FWCore/Utilities/interface/Likely.h" #include <cmath> #include <sstream> // void bPoint(){} void FreeTrajectoryState::missingError() const { std::stringstream form; form << "FreeTrajectoryState: attempt to access errors when none available" << "\nCurvilinear error valid/values :" << theCurvilinearError.valid() << "\n" << theCurvilinearError.matrix(); edm::LogWarning("FreeTrajectoryState") << "(was exception) " << form.str(); // throw TrajectoryStateException(form.str()); // bPoint(); } // implementation of non-trivial methods of FreeTrajectoryState // Warning: these methods violate constness // convert curvilinear errors to cartesian void FreeTrajectoryState::createCartesianError(CartesianTrajectoryError& aCartesianError) const { JacobianCurvilinearToCartesian curv2Cart(theGlobalParameters); const AlgebraicMatrix65& jac = curv2Cart.jacobian(); aCartesianError = ROOT::Math::Similarity(jac, theCurvilinearError.matrix()); } // convert cartesian errors to curvilinear void FreeTrajectoryState::createCurvilinearError(CartesianTrajectoryError const& aCartesianError) const { JacobianCartesianToCurvilinear cart2Curv(theGlobalParameters); const AlgebraicMatrix56& jac = cart2Curv.jacobian(); theCurvilinearError = ROOT::Math::Similarity(jac, aCartesianError.matrix()); } void FreeTrajectoryState::rescaleError(double factor) { if UNLIKELY (!hasError()) return; bool zeroField = (parameters().magneticField().nominalValue() == 0); if UNLIKELY (zeroField) theCurvilinearError.zeroFieldScaling(factor * factor); else theCurvilinearError *= (factor * factor); }