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.

18 : theMEUpdator(aMEUpdator.clone()) {}

Referenced by clone().

◆ ~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.

29 { return new FullConvolutionWithMaterial(*this); }

References FullConvolutionWithMaterial().

Referenced by GsfTrajectorySmoother::GsfTrajectorySmoother().

◆ materialEffectsUpdator()

const GsfMaterialEffectsUpdator& FullConvolutionWithMaterial::materialEffectsUpdator ( ) const
inline

Access to material effects updator.

Definition at line 26 of file FullConvolutionWithMaterial.h.

26 { return *theMEUpdator; }

References theMEUpdator.

◆ operator()()

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

Convolution using the GsfMaterialEffectsUpdator.

Definition at line 4 of file FullConvolutionWithMaterial.cc.

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 }

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

Member Data Documentation

◆ theMEUpdator

DeepCopyPointerByClone<GsfMaterialEffectsUpdator> FullConvolutionWithMaterial::theMEUpdator
private

Definition at line 33 of file FullConvolutionWithMaterial.h.

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

MultiTrajectoryStateAssembler
Definition: MultiTrajectoryStateAssembler.h:13
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
FullConvolutionWithMaterial::theMEUpdator
DeepCopyPointerByClone< GsfMaterialEffectsUpdator > theMEUpdator
Definition: FullConvolutionWithMaterial.h:33
FullConvolutionWithMaterial::FullConvolutionWithMaterial
FullConvolutionWithMaterial(const GsfMaterialEffectsUpdator &aMEUpdator)
Constructor with GSF material effects updator and propagation direction.
Definition: FullConvolutionWithMaterial.h:18
TrajectoryStateOnSurface::components
Components const & components() const
Definition: TrajectoryStateOnSurface.h:85
GsfMaterialEffectsUpdator::clone
virtual GsfMaterialEffectsUpdator * clone() const =0
GsfMaterialEffectsUpdator::updateState
virtual TrajectoryStateOnSurface updateState(const TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const
Definition: GsfMaterialEffectsUpdator.cc:14
mps_fire.result
result
Definition: mps_fire.py:311
TrajectoryStateOnSurface::isValid
bool isValid() const
Definition: TrajectoryStateOnSurface.h:54