CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
< GsfMaterialEffectsUpdator
theMEUpdator
 

Detailed Description

Convolute a set of trajectory states with material effects.

Definition at line 15 of file FullConvolutionWithMaterial.h.

Constructor & Destructor Documentation

FullConvolutionWithMaterial::FullConvolutionWithMaterial ( const GsfMaterialEffectsUpdator aMEUpdator)
inline

Constructor with GSF material effects updator and propagation direction.

Definition at line 19 of file FullConvolutionWithMaterial.h.

Referenced by clone().

19  :
20  theMEUpdator(aMEUpdator.clone()) {}
virtual GsfMaterialEffectsUpdator * clone() const =0
DeepCopyPointerByClone< GsfMaterialEffectsUpdator > theMEUpdator
FullConvolutionWithMaterial::~FullConvolutionWithMaterial ( )
inline

Definition at line 22 of file FullConvolutionWithMaterial.h.

22 {};

Member Function Documentation

FullConvolutionWithMaterial* FullConvolutionWithMaterial::clone ( void  ) const
inline

Clone.

Definition at line 35 of file FullConvolutionWithMaterial.h.

References FullConvolutionWithMaterial().

Referenced by GsfTrajectorySmoother::GsfTrajectorySmoother().

36  {
37  return new FullConvolutionWithMaterial(*this);
38  }
FullConvolutionWithMaterial(const GsfMaterialEffectsUpdator &aMEUpdator)
Constructor with GSF material effects updator and propagation direction.
const GsfMaterialEffectsUpdator& FullConvolutionWithMaterial::materialEffectsUpdator ( ) const
inline

Access to material effects updator.

Definition at line 29 of file FullConvolutionWithMaterial.h.

References theMEUpdator.

30  {
31  return *theMEUpdator;
32  }
DeepCopyPointerByClone< GsfMaterialEffectsUpdator > theMEUpdator
TrajectoryStateOnSurface FullConvolutionWithMaterial::operator() ( const TrajectoryStateOnSurface tsos,
const PropagationDirection  propDir 
) const

Convolution using the GsfMaterialEffectsUpdator.

Definition at line 6 of file FullConvolutionWithMaterial.cc.

References TrajectoryStateOnSurface::components(), LaserDQM_cfg::input, TrajectoryStateOnSurface::isValid(), query::result, theMEUpdator, and GsfMaterialEffectsUpdator::updateState().

7  {
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 }
tuple result
Definition: query.py:137
virtual TrajectoryStateOnSurface updateState(const TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const
DeepCopyPointerByClone< GsfMaterialEffectsUpdator > theMEUpdator
std::vector< TrajectoryStateOnSurface > components() const

Member Data Documentation

DeepCopyPointerByClone<GsfMaterialEffectsUpdator> FullConvolutionWithMaterial::theMEUpdator
private

Definition at line 42 of file FullConvolutionWithMaterial.h.

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