12 #include <tracking/trackFindingCDC/numerics/ParameterVector.h>
14 #include <tracking/trackFindingCDC/numerics/EigenView.h>
16 #include <type_traits>
23 namespace TrackFindingCDC {
26 struct ParameterVectorUtil {
29 template <
class AParameterVector,
int I = 0,
int N = 0>
30 static AParameterVector
getSub(
const ParameterVector<N>& par)
32 constexpr
const int M =
33 std::remove_reference_t<decltype(mapToEigen(AParameterVector()))>::RowsAtCompileTime;
34 return par.template block<M, 1>(I, 0);
38 template <
int N1,
int N2>
43 mapToEigen(result) << mapToEigen(upperPar), mapToEigen(lowerPar);