ATLAS Offline Software
IMaterialEffectsEngine.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // IMaterialEffectsEngine.h, (c) ATLAS Detector software
8 
9 #ifndef TRKEXINTERFACES_IMATERIAKEFFECTSENGINE_H
10 #define TRKEXINTERFACES_IMATERIAKEFFECTSENGINE_H
11 
12 // Gaudi
13 #include "GaudiKernel/IAlgTool.h"
14 // Trk
21 
22 namespace Trk {
23 
24  static const InterfaceID IID_IMaterialEffectsEngine("IMaterialEffectsEngine", 1, 0);
25 
26  typedef ExtrapolationCell<TrackParameters> ExCellCharged;
27  typedef ExtrapolationCell<NeutralParameters> ExCellNeutral;
28 
29 
40  class IMaterialEffectsEngine : virtual public IAlgTool {
41  public:
42 
45 
47  static const InterfaceID& interfaceID() { return IID_IMaterialEffectsEngine; }
48 
52  MaterialUpdateStage matupstage=fullUpdate ) const = 0;
53 
54 
58  MaterialUpdateStage matupstage=fullUpdate) const = 0;
59 
60  protected:
61  std::string m_sopPrefix;
62  std::string m_sopPostfix;
63 
64  };
65 
66 
67 } // end of namespace
68 
69 #endif // TRKEXINTERFACES_IMATERIAKEFFECTSENGINE_H
70 
Trk::MaterialUpdateStage
MaterialUpdateStage
This is a steering enum to tell which material update stage:
Definition: PropDirection.h:40
TrackParameters.h
Trk::IMaterialEffectsEngine::m_sopPrefix
std::string m_sopPrefix
prefix for screen output
Definition: IMaterialEffectsEngine.h:61
PropDirection.h
Trk::alongMomentum
@ alongMomentum
Definition: PropDirection.h:20
NeutralParameters.h
Trk::IMaterialEffectsEngine::handleMaterial
virtual ExtrapolationCode handleMaterial(ExCellNeutral &ecNeutral, PropDirection dir=alongMomentum, MaterialUpdateStage matupstage=fullUpdate) const =0
neutral extrapolation
Trk::ExCellCharged
ExtrapolationCell< TrackParameters > ExCellCharged
Definition: IExtrapolationEngine.h:24
Trk::fullUpdate
@ fullUpdate
Definition: PropDirection.h:43
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
Trk::IMaterialEffectsEngine::~IMaterialEffectsEngine
virtual ~IMaterialEffectsEngine()
Virtual destructor.
Definition: IMaterialEffectsEngine.h:44
Trk::ExtrapolationCode
Definition: ExtrapolationCell.h:105
beamspotman.dir
string dir
Definition: beamspotman.py:623
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::IMaterialEffectsEngine
Definition: IMaterialEffectsEngine.h:40
Trk::IMaterialEffectsEngine::m_sopPostfix
std::string m_sopPostfix
prefix for screen output
Definition: IMaterialEffectsEngine.h:62
Trk::ExCellNeutral
ExtrapolationCell< NeutralParameters > ExCellNeutral
Definition: IExtrapolationEngine.h:25
MaterialUpdateMode.h
Trk::IMaterialEffectsEngine::handleMaterial
virtual ExtrapolationCode handleMaterial(ExCellCharged &ecCharged, PropDirection dir=alongMomentum, MaterialUpdateStage matupstage=fullUpdate) const =0
charged extrapolation
Trk::ExtrapolationCell
Definition: ExtrapolationCell.h:231
ExtrapolationCell.h
Trk::IMaterialEffectsEngine::interfaceID
static const InterfaceID & interfaceID()
AlgTool interface methods.
Definition: IMaterialEffectsEngine.h:47
checker_macros.h
Define macros for attributes used to control the static checker.