14 using SingleStatePtr = std::shared_ptr<SingleGaussianState<5>>;
20 auto sgs = std::make_shared<SingleGaussianState<5>>(
21 ic.localParameters().vector(), ic.localError().matrix(), ic.weight());
22 singleStates.push_back(sgs);
35 auto const& refTsos1 = refTsos.
components().front();
36 auto pzSign = refTsos1.localParameters().pzSign();
37 bool charged = refTsos1.charge() != 0;
39 auto const& singleStates =
multiState.components();
40 std::vector<TrajectoryStateOnSurface>
components;
42 for (
auto const& ic : singleStates) {
44 if (
double det = 0; (*ic).covariance().Det2(det) && det > 0) {
SurfaceSide surfaceSide() const
Position relative to material, defined relative to momentum vector.
const SurfaceType & surface() const
Mixture of multi-variate gaussian states.
Components const & components() const
std::vector< SingleStatePtr > SingleStateContainer
TrajectoryStateOnSurface tsosFromMultiGaussianState(const MultiGaussianState< 5 > &multiState, const TrajectoryStateOnSurface &refTsos)
const MagneticField * magneticField() const
MultiGaussianState< 5 > multiGaussianStateFromTSOS(const TrajectoryStateOnSurface &tsos)