ATLAS Offline Software
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 
12 #ifndef TrkIMaterialMixtureConvolution_H
13 #define TrkIMaterialMixtureConvolution_H
14 
15 //
18 //
21 //
22 #include "GaudiKernel/IAlgTool.h"
23 
24 namespace Trk {
25 class Layer;
26 static const InterfaceID
27  IID_IMaterialMixtureConvolution("IMaterialMixtureConvolution", 1, 0);
28 
29 class IMaterialMixtureConvolution : virtual public IAlgTool
30 {
31 
32 public:
34  static const InterfaceID& interfaceID()
35  {
36  return IID_IMaterialMixtureConvolution;
37  };
38 
40  virtual ~IMaterialMixtureConvolution() = default;
41 
44  std::vector<GsfMaterial::Combined>&,
45  const MultiComponentState&,
46  const Layer&,
47  PropDirection direction) const = 0;
48 
51  std::vector<GsfMaterial::Combined>&,
52  const MultiComponentState&,
53  const Layer&,
54  PropDirection direction) const = 0;
55 
58  std::vector<GsfMaterial::Combined>&,
59  const MultiComponentState&,
60  const Layer&,
61  PropDirection direction) const = 0;
62 
65 
66 };
67 
68 } // end Trk namespace
69 
70 #endif
Trk::IMaterialMixtureConvolution::particleHypothesis
virtual Trk::ParticleHypothesis particleHypothesis() const =0
Trk::IMaterialMixtureConvolution::interfaceID
static const InterfaceID & interfaceID()
< IAlgTool and AlgTool interface method
Definition: IMaterialMixtureConvolution.h:34
PropDirection.h
GsfMaterial.h
python.RingerConstants.Layer
Layer
Definition: RingerConstants.py:42
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:28
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
Trk::IMaterialMixtureConvolution::postUpdate
virtual MultiComponentState postUpdate(std::vector< GsfMaterial::Combined > &, const MultiComponentState &, const Layer &, PropDirection direction) const =0
The particle hypothesis we implement material effects for.
Trk::IMaterialMixtureConvolution::~IMaterialMixtureConvolution
virtual ~IMaterialMixtureConvolution()=default
Virtual destructor.
Trk::MultiComponentState
std::vector< ComponentParameters > MultiComponentState
Definition: ComponentParameters.h:27
Trk::IMaterialMixtureConvolution::update
virtual MultiComponentState update(std::vector< GsfMaterial::Combined > &, const MultiComponentState &, const Layer &, PropDirection direction) const =0
Convolution with pre-measurement-update material properties.
ParticleHypothesis.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
ComponentParameters.h
Definition of component parameters for use in a mixture of many components. In this regime each track...
Trk::IMaterialMixtureConvolution::preUpdate
virtual MultiComponentState preUpdate(std::vector< GsfMaterial::Combined > &, const MultiComponentState &, const Layer &, PropDirection direction) const =0
Convolution with post-measurement-update material properties.
Trk::IMaterialMixtureConvolution
Definition: IMaterialMixtureConvolution.h:30
Trk::Layer
Definition: Layer.h:72