ATLAS Offline Software
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 
23 namespace Trk {
24 
25 static const InterfaceID IID_ITimedExtrapolator("ITimedExtrapolator", 1, 0);
26 
36 class TrackingVolume;
37 class TrackingGeometry;
38 class TrackStateOnSurface;
39 
40 class ITimedExtrapolator : virtual public IAlgTool
41 {
42 public:
44  virtual ~ITimedExtrapolator() {}
45 
47  static const InterfaceID& interfaceID() { return IID_ITimedExtrapolator; }
48 
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 
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 
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
Trk::ITimedExtrapolator::interfaceID
static const InterfaceID & interfaceID()
AlgTool interface methods.
Definition: ITimedExtrapolator.h:47
TrackParameters.h
GeometrySignature.h
hitVector
std::vector< FPGATrackSimHit > hitVector
Definition: FPGATrackSimCluster.h:22
Trk::ITimedExtrapolator::trackingGeometry
virtual const TrackingGeometry * trackingGeometry() const =0
Return the TrackingGeometry used by the Extrapolator (forwards information from Navigator)
PropDirection.h
Trk::ITimedExtrapolator::extrapolateWithPathLimit
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.
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
Trk::ITimedExtrapolator::transportNeutralsWithPathLimit
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.
HelperStructs.h
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
Trk::ITimedExtrapolator
Definition: ITimedExtrapolator.h:41
Trk::GeometrySignature
GeometrySignature
Definition: GeometrySignature.h:24
Trk::TrackingGeometry
Definition: TrackingGeometry.h:67
Trk::ParametersBase
Definition: ParametersBase.h:55
Trk::TimeLimit
Definition: HelperStructs.h:58
ParticleHypothesis.h
beamspotman.dir
string dir
Definition: beamspotman.py:623
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::PathLimit
Definition: HelperStructs.h:34
Trk::ITimedExtrapolator::~ITimedExtrapolator
virtual ~ITimedExtrapolator()
Virtual destructor.
Definition: ITimedExtrapolator.h:44
MaterialUpdateMode.h
Trk::ITimedExtrapolator::validationAction
virtual void validationAction() const =0
Validation Action: Can be implemented optionally, outside access to internal validation steps.
Trk::TrackingVolume
Definition: TrackingVolume.h:121