ATLAS Offline Software
IPropagationEngine.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // IPropagationEngine.h, (c) ATLAS Detector software
8 
9 #ifndef TRKEXINTERFACES_IPROPAGATIONENGINE_H
10 #define TRKEXINTERFACES_IPROPAGATIONENGINE_H
11 
12 // Gaudi
13 #include "GaudiKernel/IAlgTool.h"
14 // Trk
18 
19 namespace Trk {
20 
21  static const InterfaceID IID_IPropagationEngine("IPropagationEngine", 1, 0);
22 
23  typedef ExtrapolationCell<TrackParameters> ExCellCharged;
24  typedef ExtrapolationCell<NeutralParameters> ExCellNeutral;
25 
40  class IPropagationEngine : virtual public IAlgTool {
41 
42  public:
43 
45  virtual ~IPropagationEngine(){}
46 
48  static const InterfaceID& interfaceID() { return IID_IPropagationEngine; }
49 
58  const Surface& sf,
60  BoundaryCheck bcheck = true,
61  bool returnCurvilinear = true) const = 0;
62 
71  const Surface& sf,
73  BoundaryCheck bcheck = true,
74  bool returnCurvilinear = true) const = 0;
75 
76  protected:
78  std::string m_sopPrefix;
79  std::string m_sopPostfix;
80 
81  };
82 
83 
84 } // end of namespace
85 
86 #endif // TRKEXINTERFACES_INAVIGATIONENGINE_H
87 
TrackParameters.h
Trk::alongMomentum
@ alongMomentum
Definition: PropDirection.h:20
NeutralParameters.h
Trk::IPropagationEngine::m_sopPostfix
std::string m_sopPostfix
prefix for screen output
Definition: IPropagationEngine.h:79
Trk::ExCellCharged
ExtrapolationCell< TrackParameters > ExCellCharged
Definition: IExtrapolationEngine.h:24
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
Trk::IPropagationEngine::interfaceID
static const InterfaceID & interfaceID()
AlgTool interface methods.
Definition: IPropagationEngine.h:48
Trk::ExtrapolationCode
Definition: ExtrapolationCell.h:105
Trk::IPropagationEngine::propagate
virtual ExtrapolationCode propagate(ExCellNeutral &enCell, const Surface &sf, PropDirection dir=alongMomentum, BoundaryCheck bcheck=true, bool returnCurvilinear=true) const =0
resolve the boundary situation - for neutral particles Possible return codes :
beamspotman.dir
string dir
Definition: beamspotman.py:623
Trk::IPropagationEngine::~IPropagationEngine
virtual ~IPropagationEngine()
Virtual destructor.
Definition: IPropagationEngine.h:45
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::ExCellNeutral
ExtrapolationCell< NeutralParameters > ExCellNeutral
Definition: IExtrapolationEngine.h:25
Trk::ExtrapolationCell
Definition: ExtrapolationCell.h:231
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
Trk::BoundaryCheck
Definition: BoundaryCheck.h:51
ExtrapolationCell.h
Trk::IPropagationEngine
Definition: IPropagationEngine.h:40
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Trk::IPropagationEngine::propagate
virtual ExtrapolationCode propagate(ExCellCharged &ecCell, const Surface &sf, PropDirection dir=alongMomentum, BoundaryCheck bcheck=true, bool returnCurvilinear=true) const =0
resolve the boundary situation - for charged particles Possible return codes :
Trk::IPropagationEngine::m_sopPrefix
std::string m_sopPrefix
< SCREEN output formatting (SOP) - unify amongst extrapolation engines
Definition: IPropagationEngine.h:78