ATLAS Offline Software
Loading...
Searching...
No Matches
ITimedExtrapolator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3*/
4
6// ITimedExtrapolator.h, (c) ATLAS Detector software
8
9#ifndef TRKEXINTERFACES_ITIMEDEXTRAPOLATOR_H
10#define TRKEXINTERFACES_ITIMEDEXTRAPOLATOR_H
11
12// Gaudi
13#include "GaudiKernel/IAlgTool.h"
14// Trk
15#include "HelperStructs.h"
21#include <utility>
22
23namespace Trk {
24
25static const InterfaceID IID_ITimedExtrapolator("ITimedExtrapolator", 1, 0);
26
35
36class TrackingVolume;
39
40class ITimedExtrapolator : virtual public IAlgTool
41{
42public:
45
47 static const InterfaceID& interfaceID() { return IID_ITimedExtrapolator; }
48
52
53 virtual std::unique_ptr<const Trk::TrackParameters> extrapolateWithPathLimit(
54 const Trk::TrackParameters& parm,
55 Trk::PathLimit& pathLim,
56 Trk::TimeLimit& time,
59 std::vector<HitInfo>*& hitVector,
60 Trk::GeometrySignature& nextGeoId,
61 const Trk::TrackingVolume* boundaryVol = nullptr) const = 0;
62
67
68 virtual std::unique_ptr<const Trk::TrackParameters> transportNeutralsWithPathLimit(
69 const Trk::TrackParameters& parm,
70 Trk::PathLimit& pathLim,
71 Trk::TimeLimit& time,
74 std::vector<HitInfo>*& hitVector,
75 Trk::GeometrySignature& nextGeoId,
76 const Trk::TrackingVolume* boundaryVol = nullptr) const = 0;
77
80 virtual const TrackingGeometry* trackingGeometry() const = 0;
81
85 virtual void validationAction() const = 0;
86};
87
88} // end of namespace
89
90#endif // TRKEXINTERFACES_ITIMEDEXTRAPOLATOR_H
91
std::vector< FPGATrackSimHit > hitVector
Interface class for the extrapolation AlgTool, it inherits from IAlgTool Detailed information about p...
virtual std::unique_ptr< const Trk::TrackParameters > transportNeutralsWithPathLimit(const Trk::TrackParameters &parm, Trk::PathLimit &pathLim, Trk::TimeLimit &time, Trk::PropDirection dir, Trk::ParticleHypothesis particle, std::vector< HitInfo > *&hitVector, Trk::GeometrySignature &nextGeoId, const Trk::TrackingVolume *boundaryVol=nullptr) const =0
Transport method for neutral and/or unstable particles.
virtual const TrackingGeometry * trackingGeometry() const =0
Return the TrackingGeometry used by the Extrapolator (forwards information from Navigator)
virtual ~ITimedExtrapolator()
Virtual destructor.
virtual void validationAction() const =0
Validation Action: Can be implemented optionally, outside access to internal validation steps.
static const InterfaceID & interfaceID()
AlgTool interface methods.
virtual std::unique_ptr< const Trk::TrackParameters > extrapolateWithPathLimit(const Trk::TrackParameters &parm, Trk::PathLimit &pathLim, Trk::TimeLimit &time, Trk::PropDirection dir, Trk::ParticleHypothesis particle, std::vector< HitInfo > *&hitVector, Trk::GeometrySignature &nextGeoId, const Trk::TrackingVolume *boundaryVol=nullptr) const =0
Extrapolation method allowing treatment of unstable particles.
represents the track state (measurement, material, fit parameters and quality) at a surface.
The TrackingGeometry class is the owner of the constructed TrackingVolumes.
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
Ensure that the ATLAS eigen extensions are properly loaded.
PropDirection
PropDirection, enum for direction of the propagation.
static const InterfaceID IID_ITimedExtrapolator("ITimedExtrapolator", 1, 0)
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.
ParametersBase< TrackParametersDim, Charged > TrackParameters