ATLAS Offline Software
Loading...
Searching...
No Matches
IExtrapolationEngine.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
6// IExtrapolationEngine.h, (c) ATLAS Detector software
8
9#ifndef TRKEXINTERFACES_IEXTRAPOLATIONENGINE_H
10#define TRKEXINTERFACES_IEXTRAPOLATIONENGINE_H
11
12// Gaudi
13#include "GaudiKernel/IAlgTool.h"
14// Trk
20namespace Trk {
21
22 static const InterfaceID IID_IExtrapolationEngine("IExtrapolationEngine", 1, 0);
23
26
35
36 class IExtrapolationEngine : virtual public IAlgTool {
37 public:
38
41
43 static const InterfaceID& interfaceID() { return IID_IExtrapolationEngine; }
44
47 const Surface* sf = 0,
48 const BoundaryCheck& bcheck = true) const = 0;
49
50
53 const Surface* sf = 0,
54 const BoundaryCheck& bcheck = true) const = 0;
55
56
58 virtual GeometryType geometryType() const = 0;
59
60 protected:
61
63 std::string m_sopPrefix;
64 std::string m_sopPostfix;
65
66 };
67
68
69} // end of namespace
70
71#endif // TRKEXINTERFACES_IEXTRAPOLATIONENGINE_H
72
Define macros for attributes used to control the static checker.
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,...
Extrapolation engine interface for Charged and Neutral parameters, it serves as the Master extrapolat...
virtual ~IExtrapolationEngine()
Virtual destructor.
static const InterfaceID & interfaceID()
AlgTool interface methods.
std::string m_sopPrefix
< SCREEN output formatting (SOP) - unify amongst extrapolation engines
virtual ExtrapolationCode extrapolate(ExCellNeutral &ecNeutral, const Surface *sf=0, const BoundaryCheck &bcheck=true) const =0
neutral extrapolation
virtual ExtrapolationCode extrapolate(ExCellCharged &ecCharged, const Surface *sf=0, const BoundaryCheck &bcheck=true) const =0
charged extrapolation
virtual GeometryType geometryType() const =0
define for which GeometrySignature this extrapolator is valid
std::string m_sopPostfix
prefix for screen output
Abstract Base Class for tracking surfaces.
Ensure that the ATLAS eigen extensions are properly loaded.
ExtrapolationCell< TrackParameters > ExCellCharged
static const InterfaceID IID_IExtrapolationEngine("IExtrapolationEngine", 1, 0)
ExtrapolationCell< NeutralParameters > ExCellNeutral