ATLAS Offline Software
Loading...
Searching...
No Matches
IPatternParametersPropagator.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// IPatternParametersPropagator.h
7// Main public methods for track state propagation throughout atlas using
8// internal pattern recognition objects for track parameters
9// (the Trk::PatternTrackParameters)
11// (c) ATLAS Detector software
13
14#ifndef TRK_IPATTERNPARAMETERSPROPAGATOR_H
15#define TRK_IPATTERNPARAMETERSPROPAGATOR_H
16
18#include "GaudiKernel/IAlgTool.h"
19#include "GaudiKernel/EventContext.h"
22
24static const InterfaceID IID_IPatternParametersPropagator("IPatternParametersPropagator", 1, 0);
25
26namespace Trk {
27
28 class PatternTrackParameters;
29 class Surface;
30 class CylinderBounds;
31 class MagneticFieldProperties;
32
40
41 class IPatternParametersPropagator : virtual public IAlgTool {
42 public:
44 // Public method for Trk::PatternTrackParameters (not in IPropagator)
46
48 static const InterfaceID& interfaceID( ) ;
49
51
53 virtual bool propagate
54 (const ::EventContext& ctx,
56 const Surface &,
60 ParticleHypothesis particle=pion) const = 0;
61
63 virtual bool propagate
64 (const ::EventContext& ctx,
66 const Surface &,
70 double &,
71 ParticleHypothesis particle=pion) const = 0;
72
75 (const ::EventContext& ctx,
77 const Surface &,
81 ParticleHypothesis particle=pion) const = 0;
82
85 (const ::EventContext& ctx,
87 const Surface &,
91 double &,
92 ParticleHypothesis particle=pion) const = 0;
93
94 virtual void globalPositions
95 (const ::EventContext& ctx,
97 std::vector<const Surface*> &,
98 std::vector< std::pair<Amg::Vector3D,double> > &,
100 ParticleHypothesis particle=pion) const = 0;
101
102
103
104 };
105} // end namespace
106
111
112
113#endif // TRK_IPATTERNPARAMETERSPROPAGATOR_H
static const InterfaceID IID_IPatternParametersPropagator("IPatternParametersPropagator", 1, 0)
Interface ID for IPropagators.
interface for track parameter propagation through the magnetic field, using the Trk::PatternTrackPara...
static const InterfaceID & interfaceID()
framework method providing the abstract interface
virtual bool propagateParameters(const ::EventContext &ctx, PatternTrackParameters &, const Surface &, PatternTrackParameters &, PropDirection, const MagneticFieldProperties &, double &, ParticleHypothesis particle=pion) const =0
Main propagation method for parameters only with step to surface calculation.
virtual bool propagate(const ::EventContext &ctx, PatternTrackParameters &, const Surface &, PatternTrackParameters &, PropDirection, const MagneticFieldProperties &, ParticleHypothesis particle=pion) const =0
Interfaces WITH EventContext (new).
virtual bool propagate(const ::EventContext &ctx, PatternTrackParameters &, const Surface &, PatternTrackParameters &, PropDirection, const MagneticFieldProperties &, double &, ParticleHypothesis particle=pion) const =0
Main propagation method with step to surface calculation.
virtual bool propagateParameters(const ::EventContext &ctx, PatternTrackParameters &, const Surface &, PatternTrackParameters &, PropDirection, const MagneticFieldProperties &, ParticleHypothesis particle=pion) const =0
Main propagation method for parameters only.
virtual void globalPositions(const ::EventContext &ctx, const PatternTrackParameters &, std::vector< const Surface * > &, std::vector< std::pair< Amg::Vector3D, double > > &, const MagneticFieldProperties &, ParticleHypothesis particle=pion) const =0
magnetic field properties to steer the behavior of the extrapolation
Abstract Base Class for tracking surfaces.
Definition Surface.h:79
Ensure that the ATLAS eigen extensions are properly loaded.
PropDirection
PropDirection, enum for direction of the propagation.
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.