|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKEXENGINE_STATICNAVIGATIONENGINE_H
10 #define TRKEXENGINE_STATICNAVIGATIONENGINE_H
14 #include "GaudiKernel/ToolHandle.h"
23 #include "GaudiKernel/GaudiException.h"
33 class IPropagationEngine;
34 class IMaterialEffectsEngine;
85 bool noLoop=
false)
const;
91 bool stepout=
false)
const;
101 return handle.
cptr();
105 {
this,
"TrackingGeometryReadKey",
"",
"Key of the TrackingGeometry conditions data."};
110 ToolHandle<IPropagationEngine>
m_propagationEngine{
this,
"PropagationEngine",
"Trk::PropagationEngine/AtlasStaticPropagation"};
111 ToolHandle<IMaterialEffectsEngine>
m_materialEffectsEngine{
this,
"MaterialEffectsEngine",
"Trk::MaterialEffectsEngine/AtlasStaticNavigationMaterialEffects"};
119 if (!tracking_geometry){
120 EX_MSG_FATAL(
"",
"updateGeo",
"",
"Did not get valid TrackingGeometry. Aborting." );
121 throw GaudiException(
"ExtrapolationEngine",
"Problem with TrackingGeometry loading.", StatusCode::FAILURE);
123 return *tracking_geometry;
131 #endif // TRKEXENGINE_STATICNAVIGATIONENGINE_H
ToolHandle< IPropagationEngine > m_propagationEngine
the used propagation engine
void throwFailedToGetTrackingGeomtry() const
virtual ExtrapolationCode resolveBoundary(Trk::ExCellCharged &eCell, PropDirection dir=alongMomentum) const
resolve the boundary situation - for charged particles
virtual ExtrapolationCode resolveBoundary(ExCellCharged &ecCell, PropDirection dir=alongMomentum) const =0
resolve the boundary situation - for charged particles
const TrackingGeometry * retrieveTrackingGeometry(const EventContext &ctx) const
SG::ReadCondHandleKey< TrackingGeometry > m_trackingGeometryReadKey
retrieve TrackingGeometry
std::string m_trackingGeometryName
Name of the TrackingGeometry as given in Detector Store.
virtual const TrackingGeometry & trackingGeometry() const
acces to tracking geometry
ExtrapolationCode handleBoundaryT(ExtrapolationCell< T > &eCell, const BoundarySurface< TrackingVolume > &bSurfaceTV, PropDirection dir=alongMomentum, bool stepout=false) const
deal with the boundary Surface - called by resolveBoundary
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual ExtrapolationCode resolvePosition(Trk::ExCellCharged &eCell, PropDirection dir=alongMomentum, bool noLoop=false) const
resolve the boundary situation - for charged particles
ToolHandle< IMaterialEffectsEngine > m_materialEffectsEngine
the material effects updated
StatusCode finalize()
AlgTool finalize method.
Ensure that the ATLAS eigen extensions are properly loaded.
ExtrapolationCode resolvePositionT(ExtrapolationCell< T > &eCell, PropDirection dir=alongMomentum, bool noLoop=false) const
resolve position
StatusCode initialize()
AlgTool initialize method.
~StaticNavigationEngine()
Destructor.
virtual ExtrapolationCode resolvePosition(ExCellCharged &ecCell, PropDirection dir=alongMomentum, bool noLoop=false) const =0
resolve the position - for charged particles
StaticNavigationEngine(const std::string &, const std::string &, const IInterface *)
Constructor.
Define macros for attributes used to control the static checker.
StatusCode updateTrackingGeometry() const
ExtrapolationCode resolveBoundaryT(ExtrapolationCell< T > &eCell, PropDirection dir=alongMomentum) const
resolve the boundary situation
const_pointer_type cptr()