ATLAS Offline Software
Loading...
Searching...
No Matches
ITRT_TrackExtensionTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
6// Header file for class ITRT_TrackExtensionTool
8// (c) ATLAS Detector software
10// Base class for track extension to TRT
12// Version 1.0 22/08/2005 I.Gavrilenko
14
15#ifndef ITRT_TrackExtensionTool_H
16#define ITRT_TrackExtensionTool_H
17
18#include "TrkParameters/TrackParameters.h" //typedef, cannot fwd declare
19#include "GaudiKernel/IAlgTool.h"
21#include <vector>
22#include <memory> //for unique_ptr
23
24class MsgStream;
25class EventContext;
26namespace Trk{
27 class Track;
28 class TrackSegment;
29 class MeasurementBase; //only the ptr is template parameter
30}
31
32namespace InDet {
33 static const InterfaceID IID_ITRT_TrackExtensionTool
34 ("InDet::ITRT_TrackExtensionTool",1,0);
35
36 class ITRT_TrackExtensionTool : virtual public IAlgTool
37 {
39 // Public methods:
41
42 public:
43 class IEventData {
44 public:
45 virtual ~IEventData() {}
46 };
47
49 // Standard tool methods
51
52 static const InterfaceID& interfaceID();
53
55 // Main methods for track extension to TRT
57
59 // Pixels and sct track extension to TRT
61
62 virtual std::vector<const Trk::MeasurementBase*>& extendTrack
63 (const EventContext& ctx,
64 const Trk::Track&,
67
68 virtual std::vector<const Trk::MeasurementBase*>& extendTrack
69 (const EventContext& ctx,
70 const Trk::TrackParameters * pTrackParams,
73
75 (const EventContext& ctx,
76 const Trk::Track&,
79
81 // TRT seed extension to TRT
83
85 (const EventContext& ctx,
89
91 // Tool initialisation for new event
93
94 virtual std::unique_ptr<InDet::ITRT_TrackExtensionTool::IEventData> newEvent(const EventContext& ctx) const = 0;
95
97 // Print internal tool parameters and status
99
100 virtual MsgStream& dump(MsgStream& out) const=0;
101 virtual std::ostream& dump(std::ostream& out) const=0;
102
103 };
104
106 // Overload of << operator for MsgStream and std::ostream
108
109 MsgStream& operator << (MsgStream& ,const ITRT_TrackExtensionTool&);
110 std::ostream& operator << (std::ostream&,const ITRT_TrackExtensionTool&);
111
113 // Inline methods
115
116 inline const InterfaceID& ITRT_TrackExtensionTool::interfaceID()
117 {
119 }
120
122 // Overload of << operator MsgStream
124
125 inline MsgStream& operator <<
126 (MsgStream& sl,const ITRT_TrackExtensionTool& se)
127 {
128 return se.dump(sl);
129 }
130
132 // Overload of << operator std::ostream
134
135 inline std::ostream& operator <<
136 (std::ostream& sl,const ITRT_TrackExtensionTool& se)
137 {
138 return se.dump(sl);
139 }
140
141} // end of name space
142
143
144#endif // ITRT_TrackExtensionTool_H
145
virtual Trk::TrackSegment * findSegment(const EventContext &ctx, const Trk::TrackParameters *, InDet::ITRT_TrackExtensionTool::IEventData &virt_event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const =0
virtual Trk::Track * newTrack(const EventContext &ctx, const Trk::Track &, InDet::ITRT_TrackExtensionTool::IEventData &virt_event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const =0
virtual std::vector< const Trk::MeasurementBase * > & extendTrack(const EventContext &ctx, const Trk::Track &, InDet::ITRT_TrackExtensionTool::IEventData &virt_event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const =0
virtual std::unique_ptr< InDet::ITRT_TrackExtensionTool::IEventData > newEvent(const EventContext &ctx) const =0
virtual MsgStream & dump(MsgStream &out) const =0
virtual std::vector< const Trk::MeasurementBase * > & extendTrack(const EventContext &ctx, const Trk::TrackParameters *pTrackParams, InDet::ITRT_TrackExtensionTool::IEventData &virt_event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const =0
virtual std::ostream & dump(std::ostream &out) const =0
static const InterfaceID & interfaceID()
This class is the pure abstract base class for all fittable tracking measurements.
Class for a generic track segment that holdes polymorphic Trk::MeasurementBase objects,...
holding In fact this class is here in order to allow STL container for all features This class is sho...
Primary Vertex Finder.
static const InterfaceID IID_ITRT_TrackExtensionTool("InDet::ITRT_TrackExtensionTool", 1, 0)
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< TrackParametersDim, Charged > TrackParameters