ATLAS Offline Software
Loading...
Searching...
No Matches
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
14{
16public:
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
#define ASG_TOOL_INTERFACE(CLASSNAME)
virtual ~IExtendTrackToLayerTool()
Virtual destructor.
virtual TrackExtension extendTrack(const EventContext &ctx, const xAOD::TrackParticle &track) const =0
Extend the track to a given layer.
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Helper struct to hold track extrapolation information.
bool isValid() const
Whether or not the track crossed the layer.