#include <FullConvolutionWithMaterial.h>
Public Member Functions | |
FullConvolutionWithMaterial * | clone () const |
Clone. | |
FullConvolutionWithMaterial (const GsfMaterialEffectsUpdator &aMEUpdator) | |
Constructor with GSF material effects updator and propagation direction. | |
const GsfMaterialEffectsUpdator & | materialEffectsUpdator () const |
Access to material effects updator. | |
TrajectoryStateOnSurface | operator() (const TrajectoryStateOnSurface &, const PropagationDirection) const |
Convolution using the GsfMaterialEffectsUpdator. | |
~FullConvolutionWithMaterial () | |
Private Attributes | |
DeepCopyPointerByClone < GsfMaterialEffectsUpdator > | theMEUpdator |
Convolute a set of trajectory states with material effects.
Definition at line 15 of file FullConvolutionWithMaterial.h.
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().
: theMEUpdator(aMEUpdator.clone()) {}
FullConvolutionWithMaterial::~FullConvolutionWithMaterial | ( | ) | [inline] |
Definition at line 22 of file FullConvolutionWithMaterial.h.
{};
FullConvolutionWithMaterial* FullConvolutionWithMaterial::clone | ( | void | ) | const [inline] |
Clone.
Definition at line 35 of file FullConvolutionWithMaterial.h.
References FullConvolutionWithMaterial().
Referenced by GsfTrajectorySmoother::GsfTrajectorySmoother().
{ return new FullConvolutionWithMaterial(*this); }
const GsfMaterialEffectsUpdator& FullConvolutionWithMaterial::materialEffectsUpdator | ( | ) | const [inline] |
Access to material effects updator.
Definition at line 29 of file FullConvolutionWithMaterial.h.
References theMEUpdator.
{ return *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(), collect_tpl::input, TrajectoryStateOnSurface::isValid(), query::result, and theMEUpdator.
{ // // decomposition of input state // typedef std::vector<TrajectoryStateOnSurface> MultiTSOS; MultiTSOS input(tsos.components()); // // vector of result states // MultiTrajectoryStateAssembler result; // // now add material effects to each component // for ( MultiTSOS::const_iterator iTsos=input.begin(); iTsos!=input.end(); iTsos++ ) { // // add material // TrajectoryStateOnSurface updatedTSoS = theMEUpdator->updateState(*iTsos,propDir); if ( updatedTSoS.isValid() ) result.addState(updatedTSoS); else result.addInvalidState(iTsos->weight()); } return result.combinedState(); }
DeepCopyPointerByClone<GsfMaterialEffectsUpdator> FullConvolutionWithMaterial::theMEUpdator [private] |
Definition at line 42 of file FullConvolutionWithMaterial.h.
Referenced by materialEffectsUpdator(), and operator()().