Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:31

0001 #include "TrackingTools/GsfTracking/interface/FullConvolutionWithMaterial.h"
0002 #include "TrackingTools/GsfTools/interface/MultiTrajectoryStateAssembler.h"
0003 
0004 TrajectoryStateOnSurface FullConvolutionWithMaterial::operator()(const TrajectoryStateOnSurface& tsos,
0005                                                                  const PropagationDirection propDir) const {
0006   //
0007   // vector of result states
0008   MultiTrajectoryStateAssembler result;
0009   //
0010   // now add material effects to each component
0011   //
0012   for (auto const& iTsos : tsos.components()) {
0013     // add material
0014     TrajectoryStateOnSurface updatedTSoS = theMEUpdator->updateState(iTsos, propDir);
0015     if (updatedTSoS.isValid())
0016       result.addState(updatedTSoS);
0017     else
0018       result.addInvalidState(iTsos.weight());
0019   }
0020   return result.combinedState();
0021 }