ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkExtrapolation
TrkExInterfaces
TrkExInterfaces
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
15
#include "
TrkExUtils/ExtrapolationCell.h
"
16
#include "
TrkParameters/TrackParameters.h
"
17
#include "
TrkNeutralParameters/NeutralParameters.h
"
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
39
40
class
IPropagationEngine
:
virtual
public
IAlgTool {
41
42
public
:
43
45
virtual
~IPropagationEngine
(){}
46
48
static
const
InterfaceID&
interfaceID
() {
return
IID_IPropagationEngine
; }
49
57
virtual
ExtrapolationCode
propagate
(
ExCellCharged
& ecCell,
58
const
Surface
& sf,
59
PropDirection
dir=
alongMomentum
,
60
BoundaryCheck
bcheck =
true
,
61
bool
returnCurvilinear =
true
)
const
= 0;
62
70
virtual
ExtrapolationCode
propagate
(
ExCellNeutral
& enCell,
71
const
Surface
& sf,
72
PropDirection
dir=
alongMomentum
,
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
ExtrapolationCell.h
NeutralParameters.h
TrackParameters.h
Trk::BoundaryCheck
The BoundaryCheck class allows to steer the way surface boundaries are used for inside/outside checks...
Definition
BoundaryCheck.h:51
Trk::ExtrapolationCell
templated class as an input-output object of the extrapolation, only public members,...
Definition
ExtrapolationCell.h:231
Trk::ExtrapolationCode
Definition
ExtrapolationCell.h:105
Trk::IPropagationEngine
A propagation engine wrapping the propagator algtool it respects the path limit to stop particles if ...
Definition
IPropagationEngine.h:40
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::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 :
Trk::IPropagationEngine::~IPropagationEngine
virtual ~IPropagationEngine()
Virtual destructor.
Definition
IPropagationEngine.h:45
Trk::IPropagationEngine::m_sopPostfix
std::string m_sopPostfix
prefix for screen output
Definition
IPropagationEngine.h:79
Trk::IPropagationEngine::interfaceID
static const InterfaceID & interfaceID()
AlgTool interface methods.
Definition
IPropagationEngine.h:48
Trk::IPropagationEngine::m_sopPrefix
std::string m_sopPrefix
< SCREEN output formatting (SOP) - unify amongst extrapolation engines
Definition
IPropagationEngine.h:78
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::PropDirection
PropDirection
PropDirection, enum for direction of the propagation.
Definition
PropDirection.h:19
Trk::alongMomentum
@ alongMomentum
Definition
PropDirection.h:20
Trk::IID_IPropagationEngine
static const InterfaceID IID_IPropagationEngine("IPropagationEngine", 1, 0)
Trk::ExCellCharged
ExtrapolationCell< TrackParameters > ExCellCharged
Definition
IExtrapolationEngine.h:24
Trk::ExCellNeutral
ExtrapolationCell< NeutralParameters > ExCellNeutral
Definition
IExtrapolationEngine.h:25
Generated on
for ATLAS Offline Software by
1.17.0