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,
48  ParticleHypothesis particleHypothesis) const = 0;
49 
52  std::vector<GsfMaterial::Combined>&,
53  const MultiComponentState&,
54  const Layer&,
55  PropDirection direction,
56  ParticleHypothesis particleHypothesis) const = 0;
57 
60  std::vector<GsfMaterial::Combined>&,
61  const MultiComponentState&,
62  const Layer&,
63  PropDirection direction,
64  ParticleHypothesis particleHypothesis) const = 0;
65 };
66 
67 } // end Trk namespace
68 
69 #endif
Trk::IMaterialMixtureConvolution::interfaceID
static const InterfaceID & interfaceID()
< IAlgTool and AlgTool interface method
Definition: IMaterialMixtureConvolution.h:34
PropDirection.h
Trk::IMaterialMixtureConvolution::update
virtual MultiComponentState update(std::vector< GsfMaterial::Combined > &, const MultiComponentState &, const Layer &, PropDirection direction, ParticleHypothesis particleHypothesis) const =0
Convolution with pre-measurement-update material properties.
GsfMaterial.h
python.RingerConstants.Layer
Layer
Definition: RingerConstants.py:42
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
Trk::IMaterialMixtureConvolution::~IMaterialMixtureConvolution
virtual ~IMaterialMixtureConvolution()=default
Virtual destructor.
Trk::IMaterialMixtureConvolution::preUpdate
virtual MultiComponentState preUpdate(std::vector< GsfMaterial::Combined > &, const MultiComponentState &, const Layer &, PropDirection direction, ParticleHypothesis particleHypothesis) const =0
Convolution with post-measurement-update material properties.
Trk::MultiComponentState
std::vector< ComponentParameters > MultiComponentState
Definition: ComponentParameters.h:27
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
Definition: IMaterialMixtureConvolution.h:30
Trk::IMaterialMixtureConvolution::postUpdate
virtual MultiComponentState postUpdate(std::vector< GsfMaterial::Combined > &, const MultiComponentState &, const Layer &, PropDirection direction, ParticleHypothesis particleHypothesis) const =0
Trk::Layer
Definition: Layer.h:73