ATLAS Offline Software
Tracking
TrkExtrapolation
TrkExInterfaces
TrkExInterfaces
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
"
16
#include "
TrkDetDescrUtils/GeometrySignature.h
"
17
#include "
TrkEventPrimitives/ParticleHypothesis.h
"
18
#include "
TrkEventPrimitives/PropDirection.h
"
19
#include "
TrkExUtils/MaterialUpdateMode.h
"
20
#include "
TrkParameters/TrackParameters.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,
57
Trk::PropDirection
dir
,
58
Trk::ParticleHypothesis
particle
,
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,
72
Trk::PropDirection
dir
,
73
Trk::ParticleHypothesis
particle
,
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
Generated on Sun Dec 22 2024 21:12:05 for ATLAS Offline Software by
1.8.18