ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetRecTools
InDetRecToolInterfaces
InDetRecToolInterfaces
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"
20
#include "
TRT_ReadoutGeometry/TRT_DetElementLink_xk.h
"
21
#include <vector>
22
#include <memory>
//for unique_ptr
23
24
class
MsgStream;
25
class
EventContext;
26
namespace
Trk
{
27
class
Track
;
28
class
TrackSegment
;
29
class
MeasurementBase
;
//only the ptr is template parameter
30
}
31
32
namespace
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
&,
65
InDet::ITRT_TrackExtensionTool::IEventData
&virt_event_data,
66
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap
&
used
)
const
= 0;
67
68
virtual
std::vector<const Trk::MeasurementBase*>&
extendTrack
69
(
const
EventContext& ctx,
70
const
Trk::TrackParameters
* pTrackParams,
71
InDet::ITRT_TrackExtensionTool::IEventData
&virt_event_data,
72
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap
&
used
)
const
= 0;
73
74
virtual
Trk::Track
*
newTrack
75
(
const
EventContext& ctx,
76
const
Trk::Track
&,
77
InDet::ITRT_TrackExtensionTool::IEventData
&virt_event_data,
78
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap
&
used
)
const
= 0;
79
81
// TRT seed extension to TRT
83
84
virtual
Trk::TrackSegment
*
findSegment
85
(
const
EventContext& ctx,
86
const
Trk::TrackParameters
*,
87
InDet::ITRT_TrackExtensionTool::IEventData
&virt_event_data,
88
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap
&
used
)
const
= 0;
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
{
118
return
IID_ITRT_TrackExtensionTool
;
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
TRT_DetElementLink_xk.h
TrackParameters.h
InDet::ITRT_TrackExtensionTool::IEventData
Definition
ITRT_TrackExtensionTool.h:43
InDet::ITRT_TrackExtensionTool::IEventData::~IEventData
virtual ~IEventData()
Definition
ITRT_TrackExtensionTool.h:45
InDet::ITRT_TrackExtensionTool
Definition
ITRT_TrackExtensionTool.h:37
InDet::ITRT_TrackExtensionTool::findSegment
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
InDet::ITRT_TrackExtensionTool::newTrack
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
InDet::ITRT_TrackExtensionTool::extendTrack
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
InDet::ITRT_TrackExtensionTool::newEvent
virtual std::unique_ptr< InDet::ITRT_TrackExtensionTool::IEventData > newEvent(const EventContext &ctx) const =0
InDet::ITRT_TrackExtensionTool::dump
virtual MsgStream & dump(MsgStream &out) const =0
InDet::ITRT_TrackExtensionTool::extendTrack
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
InDet::ITRT_TrackExtensionTool::dump
virtual std::ostream & dump(std::ostream &out) const =0
InDet::ITRT_TrackExtensionTool::interfaceID
static const InterfaceID & interfaceID()
Definition
ITRT_TrackExtensionTool.h:116
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap
std::array< std::vector< std::vector< Used_t > >, 3 > TRT_DetElemUsedMap
Definition
TRT_DetElementLink_xk.h:42
Trk::MeasurementBase
This class is the pure abstract base class for all fittable tracking measurements.
Definition
MeasurementBase.h:58
Trk::TrackSegment
Class for a generic track segment that holdes polymorphic Trk::MeasurementBase objects,...
Definition
TrackSegment.h:56
Trk::Track
The ATLAS Track class.
Definition
Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
used
holding In fact this class is here in order to allow STL container for all features This class is sho...
InDet
Primary Vertex Finder.
Definition
VP1ErrorUtils.h:36
InDet::IID_ITRT_TrackExtensionTool
static const InterfaceID IID_ITRT_TrackExtensionTool("InDet::ITRT_TrackExtensionTool", 1, 0)
InDet::operator<<
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
Generated on
for ATLAS Offline Software by
1.17.0