ATLAS Offline Software
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"
10 #include <limits>
11 #include <cmath>
12 
13 class IExtendTrackToLayerTool : public virtual asg::IAsgTool
14 {
16 public:
19 
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 
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