CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FullConvolutionWithMaterial.cc
Go to the documentation of this file.
2 
4 
7  const PropagationDirection propDir) const {
8  //
9  // decomposition of input state
10  //
11  typedef std::vector<TrajectoryStateOnSurface> MultiTSOS;
12  MultiTSOS input(tsos.components());
13  //
14  // vector of result states
15  //
17  //
18  // now add material effects to each component
19  //
20  for ( MultiTSOS::const_iterator iTsos=input.begin();
21  iTsos!=input.end(); iTsos++ ) {
22  //
23  // add material
24  //
25  TrajectoryStateOnSurface updatedTSoS =
26  theMEUpdator->updateState(*iTsos,propDir);
27  if ( updatedTSoS.isValid() )
28  result.addState(updatedTSoS);
29  else
30  result.addInvalidState(iTsos->weight());
31  }
32  return result.combinedState();
33 }
34 
35 // TimingReport::Item* FullConvolutionWithMaterial::theTimer1(0);
36 // TimingReport::Item* FullConvolutionWithMaterial::theTimer2(0);
PropagationDirection
tuple result
Definition: query.py:137
virtual TrajectoryStateOnSurface updateState(const TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const
DeepCopyPointerByClone< GsfMaterialEffectsUpdator > theMEUpdator
TrajectoryStateOnSurface operator()(const TrajectoryStateOnSurface &, const PropagationDirection) const
Convolution using the GsfMaterialEffectsUpdator.
std::vector< TrajectoryStateOnSurface > components() const