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.
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.