CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
FullConvolutionWithMaterial Class Reference

#include <FullConvolutionWithMaterial.h>

Public Member Functions

FullConvolutionWithMaterialclone () const
 Clone. More...
 
 FullConvolutionWithMaterial (const GsfMaterialEffectsUpdator &aMEUpdator)
 Constructor with GSF material effects updator and propagation direction. More...
 
const GsfMaterialEffectsUpdatormaterialEffectsUpdator () const
 Access to material effects updator. More...
 
TrajectoryStateOnSurface operator() (const TrajectoryStateOnSurface &, const PropagationDirection) const
 Convolution using the GsfMaterialEffectsUpdator. More...
 
 ~FullConvolutionWithMaterial ()
 

Private Attributes

DeepCopyPointerByClone< GsfMaterialEffectsUpdatortheMEUpdator
 

Detailed Description

Convolute a set of trajectory states with material effects.

Definition at line 15 of file FullConvolutionWithMaterial.h.

Constructor & Destructor Documentation

◆ FullConvolutionWithMaterial()

FullConvolutionWithMaterial::FullConvolutionWithMaterial ( const GsfMaterialEffectsUpdator aMEUpdator)
inline

Constructor with GSF material effects updator and propagation direction.

Definition at line 18 of file FullConvolutionWithMaterial.h.

Referenced by clone().

18 : theMEUpdator(aMEUpdator.clone()) {}
virtual GsfMaterialEffectsUpdator * clone() const =0
DeepCopyPointerByClone< GsfMaterialEffectsUpdator > theMEUpdator

◆ ~FullConvolutionWithMaterial()

FullConvolutionWithMaterial::~FullConvolutionWithMaterial ( )
inline

Definition at line 20 of file FullConvolutionWithMaterial.h.

20 {};

Member Function Documentation

◆ clone()

FullConvolutionWithMaterial* FullConvolutionWithMaterial::clone ( void  ) const
inline

Clone.

Definition at line 29 of file FullConvolutionWithMaterial.h.

References FullConvolutionWithMaterial().

Referenced by GsfTrajectorySmoother::GsfTrajectorySmoother().

29 { return new FullConvolutionWithMaterial(*this); }
FullConvolutionWithMaterial(const GsfMaterialEffectsUpdator &aMEUpdator)
Constructor with GSF material effects updator and propagation direction.

◆ materialEffectsUpdator()

const GsfMaterialEffectsUpdator& FullConvolutionWithMaterial::materialEffectsUpdator ( ) const
inline

Access to material effects updator.

Definition at line 26 of file FullConvolutionWithMaterial.h.

References theMEUpdator.

26 { return *theMEUpdator; }
DeepCopyPointerByClone< GsfMaterialEffectsUpdator > theMEUpdator

◆ operator()()

TrajectoryStateOnSurface FullConvolutionWithMaterial::operator() ( const TrajectoryStateOnSurface tsos,
const PropagationDirection  propDir 
) const

Convolution using the GsfMaterialEffectsUpdator.

Definition at line 4 of file FullConvolutionWithMaterial.cc.

References TrajectoryStateOnSurface::components(), TrajectoryStateOnSurface::isValid(), mps_fire::result, theMEUpdator, and GsfMaterialEffectsUpdator::updateState().

5  {
6  //
7  // vector of result states
9  //
10  // now add material effects to each component
11  //
12  for (auto const& iTsos : tsos.components()) {
13  // add material
14  TrajectoryStateOnSurface updatedTSoS = theMEUpdator->updateState(iTsos, propDir);
15  if (updatedTSoS.isValid())
16  result.addState(updatedTSoS);
17  else
18  result.addInvalidState(iTsos.weight());
19  }
20  return result.combinedState();
21 }
Components const & components() const
DeepCopyPointerByClone< GsfMaterialEffectsUpdator > theMEUpdator
virtual TrajectoryStateOnSurface updateState(const TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const

Member Data Documentation

◆ theMEUpdator

DeepCopyPointerByClone<GsfMaterialEffectsUpdator> FullConvolutionWithMaterial::theMEUpdator
private

Definition at line 33 of file FullConvolutionWithMaterial.h.

Referenced by materialEffectsUpdator(), and operator()().