ATLAS Offline Software
Trigger
TrigAlgorithms
TrigEFMissingET
TrigEFMissingET
IExtendTrackToLayerTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRIGEFMISSINGET_IEXTENDTRACKTOLAYERTOOL_H
6
#define TRIGEFMISSINGET_IEXTENDTRACKTOLAYERTOOL_H
7
8
#include "
AsgTools/IAsgTool.h
"
9
#include "
xAODTracking/TrackParticleContainer.h
"
10
#include <limits>
11
#include <cmath>
12
13
class
IExtendTrackToLayerTool
:
public
virtual
asg::IAsgTool
14
{
15
ASG_TOOL_INTERFACE
(
IExtendTrackToLayerTool
)
16
public
:
18
virtual
~IExtendTrackToLayerTool
() {}
19
26
struct
TrackExtension
27
{
29
double
eta
{-std::numeric_limits<double>::infinity()};
31
double
phi
{-std::numeric_limits<double>::infinity()};
33
inline
bool
isValid
()
const
34
{
35
return
std::isfinite(
phi
) && std::isfinite(
eta
);
36
}
37
};
38
45
virtual
TrackExtension
extendTrack
(
46
const
EventContext& ctx,
47
const
xAOD::TrackParticle
&
track
)
const
= 0;
48
};
//> end class IExtendTrackToLayerTool
49
50
#endif //> !TRIGEFMISSINGET_IEXTENDTRACKTOLAYERTOOL_H
IExtendTrackToLayerTool
Definition:
IExtendTrackToLayerTool.h:14
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition:
IAsgTool.h:41
IExtendTrackToLayerTool::TrackExtension::eta
double eta
The extrapolated eta.
Definition:
IExtendTrackToLayerTool.h:29
IExtendTrackToLayerTool::TrackExtension
Helper struct to hold track extrapolation information.
Definition:
IExtendTrackToLayerTool.h:27
IExtendTrackToLayerTool::TrackExtension::phi
double phi
The extrapolated phi.
Definition:
IExtendTrackToLayerTool.h:31
IExtendTrackToLayerTool::extendTrack
virtual TrackExtension extendTrack(const EventContext &ctx, const xAOD::TrackParticle &track) const =0
Extend the track to a given layer.
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition:
AsgToolMacros.h:40
IExtendTrackToLayerTool::TrackExtension::isValid
bool isValid() const
Whether or not the track crossed the layer.
Definition:
IExtendTrackToLayerTool.h:33
IAsgTool.h
IExtendTrackToLayerTool::~IExtendTrackToLayerTool
virtual ~IExtendTrackToLayerTool()
Virtual destructor.
Definition:
IExtendTrackToLayerTool.h:18
xAOD::track
@ track
Definition:
TrackingPrimitives.h:512
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition:
TrackParticle_v1.h:43
TrackParticleContainer.h
Generated on Tue Jul 2 2024 21:17:08 for ATLAS Offline Software by
1.8.18