ATLAS Offline Software
Loading...
Searching...
No Matches
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
19namespace Trk {
20
21 static const InterfaceID IID_IPropagationEngine("IPropagationEngine", 1, 0);
22
25
39
40 class IPropagationEngine : virtual public IAlgTool {
41
42 public:
43
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
The BoundaryCheck class allows to steer the way surface boundaries are used for inside/outside checks...
templated class as an input-output object of the extrapolation, only public members,...
A propagation engine wrapping the propagator algtool it respects the path limit to stop particles if ...
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 :
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 :
virtual ~IPropagationEngine()
Virtual destructor.
std::string m_sopPostfix
prefix for screen output
static const InterfaceID & interfaceID()
AlgTool interface methods.
std::string m_sopPrefix
< SCREEN output formatting (SOP) - unify amongst extrapolation engines
Abstract Base Class for tracking surfaces.
Ensure that the ATLAS eigen extensions are properly loaded.
PropDirection
PropDirection, enum for direction of the propagation.
@ alongMomentum
static const InterfaceID IID_IPropagationEngine("IPropagationEngine", 1, 0)
ExtrapolationCell< TrackParameters > ExCellCharged
ExtrapolationCell< NeutralParameters > ExCellNeutral