ATLAS Offline Software
IegammaTrkRefitterTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef EGAMMAINTERFACES_IEGAMMATRKREFITTERTOOL_H
6 #define EGAMMAINTERFACES_IEGAMMATRKREFITTERTOOL_H
7 
12 /********************************************************************
13 NAME: IxAODEgammaTrkRefitterTool.h
14 PACKAGE: offline/Reconstruction/xAODEgamma/xAODEgammaInterfaces
15 CREATED: Jul 2008
16 ********************************************************************/
17 
18 #include "GaudiKernel/IAlgTool.h"
19 #include "GaudiKernel/EventContext.h"
20 
22 // Forward declarations
23 #include "xAODEgamma/ElectronFwd.h"
25 #include "TrkTrack/Track.h"
26 #include <memory>
27 
28 static const InterfaceID IID_egammaTrkRefitterTool("IegammaTrkRefitterTool", 1, 0);
29 
30 class IegammaTrkRefitterTool : virtual public IAlgTool
31 {
32  public:
34  static const InterfaceID& interfaceID()
35  { return IID_egammaTrkRefitterTool; };
36 
39  struct Cache {
41  std::unique_ptr<Trk::Track> refittedTrack;
50  Cache():refittedTrack(nullptr),
51  refittedTrackPerigee(nullptr),
52  originalTrack(nullptr),
53  originalTrackPerigee(nullptr),
54  electron(nullptr){
55  }
56  };
57 
59  virtual StatusCode refitTrack(const EventContext& ctx,
60  const Trk::Track*,
61  Cache& result) const = 0;
62 
63 };
64 #endif
get_generator_info.result
result
Definition: get_generator_info.py:21
TrackParameters.h
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
IegammaTrkRefitterTool::Cache::refittedTrackPerigee
const Trk::Perigee * refittedTrackPerigee
Pointer to the refitted MeasuredPerigee.
Definition: IegammaTrkRefitterTool.h:43
IegammaTrkRefitterTool::Cache::originalTrack
const Trk::Track * originalTrack
Pointer to the original track.
Definition: IegammaTrkRefitterTool.h:45
IegammaTrkRefitterTool::interfaceID
static const InterfaceID & interfaceID()
Alg tool and IAlgTool interface method.
Definition: IegammaTrkRefitterTool.h:34
IegammaTrkRefitterTool::refitTrack
virtual StatusCode refitTrack(const EventContext &ctx, const Trk::Track *, Cache &result) const =0
Refit the track.
IegammaTrkRefitterTool
Definition: IegammaTrkRefitterTool.h:31
IegammaTrkRefitterTool::Cache
Struct Holding the result to return and intermediate objects Things are owned by the EDM or the uniqu...
Definition: IegammaTrkRefitterTool.h:39
Track.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IegammaTrkRefitterTool::Cache::originalTrackPerigee
const Trk::Perigee * originalTrackPerigee
Pointer to the original Perigee.
Definition: IegammaTrkRefitterTool.h:47
ElectronFwd.h
IegammaTrkRefitterTool::Cache::Cache
Cache()
Definition: IegammaTrkRefitterTool.h:50
xAOD::Electron_v1
Definition: Electron_v1.h:34
TrackParticleFwd.h
IegammaTrkRefitterTool::Cache::refittedTrack
std::unique_ptr< Trk::Track > refittedTrack
Pointer to the refitted track.
Definition: IegammaTrkRefitterTool.h:41
IegammaTrkRefitterTool::Cache::electron
const xAOD::Electron * electron
pointer to the Electron input
Definition: IegammaTrkRefitterTool.h:49