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