52 static_assert(
covmat_exists,
"Covariance matrix type not found");
56 has_method<const P, const Surface&, reference_surface_t>;
58 identical_to<Vector3D, position_returntype_t, const P>;
60 identical_to<Vector3D, momentum_returntype_t, const P>;
62 identical_to<double, charge_returntype_t, const P>;
64 identical_to<double, time_returntype_t, const P>;
66 identical_to<const std::optional<BoundSymMatrix>&,
69 identical_to<BoundVector, parameters_returntype_t, const P>;
80 has_method<const P, Vector3D, position_t>;
82 has_method<const P, Vector3D, momentum_t>;
84 has_method<const P, double, charge_t>;
87 has_method<const P, const std::optional<FreeSymMatrix>&,
covariance_t>;
89 has_method<const P, FreeVector, parameters_t>;
102 "position method not found");
104 "momentum method not found");
106 "charge method not found");
108 "time method not found");
110 "covariance method not found");
112 "parameters method not found");
116 require<covmat_exists, either<boundValue, freeValue>>;
121 template <
typename parameters_t>