12#ifndef TrkIMaterialMixtureConvolution_H
13#define TrkIMaterialMixtureConvolution_H
22#include "GaudiKernel/IAlgTool.h"
26static const InterfaceID
44 std::vector<GsfMaterial::Combined>&,
51 std::vector<GsfMaterial::Combined>&,
58 std::vector<GsfMaterial::Combined>&,
Definition of component parameters for use in a mixture of many components. In this regime each track...
virtual MultiComponentState update(std::vector< GsfMaterial::Combined > &, const MultiComponentState &, const Layer &, PropDirection direction) const =0
Convolution with pre-measurement-update material properties.
virtual Trk::ParticleHypothesis particleHypothesis() const =0
virtual MultiComponentState preUpdate(std::vector< GsfMaterial::Combined > &, const MultiComponentState &, const Layer &, PropDirection direction) const =0
Convolution with post-measurement-update material properties.
virtual MultiComponentState postUpdate(std::vector< GsfMaterial::Combined > &, const MultiComponentState &, const Layer &, PropDirection direction) const =0
The particle hypothesis we implement material effects for.
virtual ~IMaterialMixtureConvolution()=default
Virtual destructor.
static const InterfaceID & interfaceID()
< IAlgTool and AlgTool interface method
Base Class for a Detector Layer in the Tracking realm.
Ensure that the ATLAS eigen extensions are properly loaded.
PropDirection
PropDirection, enum for direction of the propagation.
std::vector< ComponentParameters > MultiComponentState
static const InterfaceID IID_IMaterialMixtureConvolution("IMaterialMixtureConvolution", 1, 0)
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.