8#include <tracking/trackFindingCDC/geometry/PerigeeParameters.h>
10#include <tracking/trackFindingCDC/geometry/UncertainParameters.icc.h>
12#include <tracking/trackFindingCDC/numerics/Angle.h>
15using namespace TrackFindingCDC;
20 const PerigeeCovariance& fromCov,
21 const PerigeeParameters& toPar,
22 const PerigeeCovariance& toCov,
23 PerigeeParameters& avgPar,
24 PerigeeCovariance& avgCov)
27 PerigeeParameters refPar = (fromPar + toPar) / 2.0;
30 PerigeeParameters relFromPar = fromPar - refPar;
33 PerigeeParameters relToPar = toPar - refPar;
36 PerigeeParameters relAvgPar;
41 avgPar = relAvgPar + refPar;
Namespace to hide the contained enum constants.
Abstract base class for different kinds of events.
static void normalise(double &angle)
Normalise an angle inplace to lie in the range from [-pi, pi].
static double average(const double angle1, double angle2)
Combines two angular values to the one that lies half way between them on the short arc.
static double average(const ParameterVector< N > &par1, const CovarianceMatrix< N > &cov1, const ParameterVector< N > &par2, const CovarianceMatrix< N > &cov2, ParameterVector< N > &par, CovarianceMatrix< N > &cov)
Averages two parameter vectors taking into account their respective covariances.
static double average(const PerigeeUtil::ParameterVector &fromPar, const PerigeeUtil::CovarianceMatrix &fromCov, const PerigeeUtil::ParameterVector &toPar, const PerigeeUtil::CovarianceMatrix &toCov, PerigeeUtil::ParameterVector &avgPar, PerigeeUtil::CovarianceMatrix &avgCov)
Calculates the weighted average between two perigee parameter sets with their respective covariance m...
Utility struct to instantiate a couple of helper function related to a set of uncertain parameters.