12 using namespace SurfaceSideDefinition;
25 throw cms::Exception(
"LogicError") <<
"GsfMaterialEffectsUpdator::updateState used with MultiTSOS";
31 std::vector<Effect> effects(
size());
45 LogDebug(
"GsfMaterialEffectsUpdator") <<
"found " <<
size() <<
" components "
46 <<
" input state has weight " << TSoS.
weight();
47 for (
auto const & effect : effects ) {
48 LogDebug(
"GsfMaterialEffectsUpdatorDETAIL") <<
"w, dp, sigp = "
49 << effect.weight <<
", "
50 << effect.deltaP <<
", "
57 if ( !lp.
updateP(effect.deltaP) )
64 effect.deltaCov.add(eloc);
71 LogDebug(
"GsfMaterialEffectsUpdatorDETAIL")
72 <<
"adding state with weight " <<
weight*effect.weight;
80 LogDebug(
"GsfMaterialEffectsUpdator")
const LocalTrajectoryParameters & localParameters() const
void addState(const TrajectoryStateOnSurface)
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
const SurfaceType & surface() const
const AlgebraicSymMatrix55 & matrix() const
const LocalTrajectoryError & localError() const
virtual TrajectoryStateOnSurface updateState(const TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const
const GlobalTrajectoryParameters & globalParameters() const
const MagneticField & magneticField() const
const MediumProperties & mediumProperties() const
bool updateP(float dP)
Update of momentum by a scalar dP.
TrajectoryStateOnSurface combinedState()
tuple size
Write out results.