23 theMSUpdator(msUpdator.
clone()),
24 theELUpdator(elUpdator.
clone()) {}
61 if ( msWeights.empty() ) {
65 msWeights.push_back(1.);
66 msDeltaPs.push_back(0.);
75 if ( elWeights.empty() ) {
79 elWeights.push_back(1.);
80 elDeltaPs.push_back(0.);
86 std::vector<double>::const_iterator iMsWgt(msWeights.begin());
87 std::vector<double>::const_iterator iMsDp(msDeltaPs.begin());
88 std::vector<AlgebraicSymMatrix55>::const_iterator iMsDc(msDeltaCovs.begin());
89 for ( ; iMsWgt<msWeights.end(); iMsWgt++,iMsDp++,iMsDc++ ) {
91 std::vector<double>::const_iterator iElWgt(elWeights.begin());
92 std::vector<double>::const_iterator iElDp(elDeltaPs.begin());
93 std::vector<AlgebraicSymMatrix55>::const_iterator iElDc(elDeltaCovs.begin());
94 for ( ; iElWgt<elWeights.end(); iElWgt++,iElDp++,iElDc++ ) {
std::vector< double > theWeights
std::vector< AlgebraicSymMatrix55 > theDeltaCovs
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
virtual GsfMaterialEffectsUpdator * clone() const =0
std::vector< double > theDeltaPs
virtual void compute(const TrajectoryStateOnSurface &, const PropagationDirection) const
virtual std::vector< double > deltaPs(const TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const
GsfCombinedMaterialEffectsUpdator(GsfMaterialEffectsUpdator &msUpdator, GsfMaterialEffectsUpdator &elUpdator)
Constructor from multiple scattering and energy loss updator.
virtual std::vector< AlgebraicSymMatrix55 > deltaLocalErrors(const TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const
DeepCopyPointerByClone< GsfMaterialEffectsUpdator > theMSUpdator
virtual std::vector< double > weights(const TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const
DeepCopyPointerByClone< GsfMaterialEffectsUpdator > theELUpdator