ATLAS Offline Software
Loading...
Searching...
No Matches
IMaterialMixtureConvolution.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
11
12#ifndef TrkIMaterialMixtureConvolution_H
13#define TrkIMaterialMixtureConvolution_H
14
15//
18//
21//
22#include "GaudiKernel/IAlgTool.h"
23
24namespace Trk {
25class Layer;
26static const InterfaceID
27 IID_IMaterialMixtureConvolution("IMaterialMixtureConvolution", 1, 0);
28
29class IMaterialMixtureConvolution : virtual public IAlgTool
30{
31
32public:
34 static const InterfaceID& interfaceID()
35 {
37 };
38
40 virtual ~IMaterialMixtureConvolution() = default;
41
44 std::vector<GsfMaterial::Combined>&,
46 const Layer&,
47 PropDirection direction) const = 0;
48
51 std::vector<GsfMaterial::Combined>&,
53 const Layer&,
54 PropDirection direction) const = 0;
55
58 std::vector<GsfMaterial::Combined>&,
60 const Layer&,
61 PropDirection direction) const = 0;
62
65
66};
67
68} // end Trk namespace
69
70#endif
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.
Definition Layer.h:72
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.