ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetRecTools
InDetRecToolInterfaces
InDetRecToolInterfaces
ITRT_SegmentToTrackTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
18
19
#ifndef ITRT_SegmentToTrackTool_H
20
#define ITRT_SegmentToTrackTool_H
21
22
#include "GaudiKernel/IAlgTool.h"
23
24
#include "
TrkTrack/Track.h
"
25
#include "
TrkSegment/TrackSegment.h
"
26
#include "
TrkTrack/TrackCollection.h
"
27
#include "
TrkEventPrimitives/TrackScore.h
"
28
#include "GaudiKernel/EventContext.h"
29
#include <utility>
30
31
class
MsgStream;
32
33
namespace
Trk
{
34
class
PRDtoTrackMap
;
35
}
36
37
namespace
InDet
{
38
39
static
const
InterfaceID
IID_ITRT_SegmentToTrackTool
(
"InDet::ITRT_SegmentToTrackTool"
, 1, 0);
40
41
class
ITRT_SegmentToTrackTool
:
virtual
public
IAlgTool {
42
43
public
:
44
45
static
const
InterfaceID&
interfaceID
();
46
47
virtual
StatusCode
initialize
() = 0;
48
virtual
StatusCode
finalize
() = 0;
49
50
struct
EventData
{
51
std::vector< std::pair<Trk::TrackScore, Trk::Track*> >
m_trackScores
;
52
enum
ECounter
{
knTrkScoreZero
,
53
knTrkSegUsed
,
54
knTRTTrk
,
55
kNCounter
};
56
std::array<int,kNCounter>
m_counter
{};
57
};
58
59
virtual
Trk::Track
*
segToTrack
(
const
EventContext&,
const
Trk::TrackSegment
&)
const
= 0;
60
62
virtual
bool
segIsUsed
(
const
Trk::TrackSegment
&,
63
const
Trk::PRDtoTrackMap
*)
const
= 0;
64
65
virtual
bool
toLower
(
const
Trk::TrackSegment
&)
const
= 0;
66
68
virtual
void
addNewTrack
(
const
EventContext&,
69
Trk::Track
*,
70
ITRT_SegmentToTrackTool::EventData
&event_data)
const
= 0;
71
73
virtual
TrackCollection
*
resolveTracks
(
const
Trk::PRDtoTrackMap
*,
74
ITRT_SegmentToTrackTool::EventData
&event_data)
const
= 0;
75
77
// Print internal tool parameters and status
79
80
virtual
MsgStream&
dump
(MsgStream& out)
const
= 0;
81
virtual
std::ostream&
dump
(std::ostream& out)
const
= 0;
82
83
};
84
86
// Inline methods
88
89
inline
const
InterfaceID&
InDet::ITRT_SegmentToTrackTool::interfaceID
(){
90
return
IID_ITRT_SegmentToTrackTool
;
91
}
92
94
// Overload of << operator MsgStream
96
97
}
98
99
#endif
//ITRT_SegmentToTrackTool_H
TrackCollection.h
TrackCollection
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
Definition
TrackCollection.h:19
TrackScore.h
TrackSegment.h
Track.h
InDet::ITRT_SegmentToTrackTool
Definition
ITRT_SegmentToTrackTool.h:41
InDet::ITRT_SegmentToTrackTool::segToTrack
virtual Trk::Track * segToTrack(const EventContext &, const Trk::TrackSegment &) const =0
InDet::ITRT_SegmentToTrackTool::dump
virtual std::ostream & dump(std::ostream &out) const =0
InDet::ITRT_SegmentToTrackTool::dump
virtual MsgStream & dump(MsgStream &out) const =0
InDet::ITRT_SegmentToTrackTool::segIsUsed
virtual bool segIsUsed(const Trk::TrackSegment &, const Trk::PRDtoTrackMap *) const =0
Check if the TRT segment has already been assigned a Si extension.
InDet::ITRT_SegmentToTrackTool::resolveTracks
virtual TrackCollection * resolveTracks(const Trk::PRDtoTrackMap *, ITRT_SegmentToTrackTool::EventData &event_data) const =0
Resolve the standalone TRT tracks based on the number of shared TRT hits.
InDet::ITRT_SegmentToTrackTool::addNewTrack
virtual void addNewTrack(const EventContext &, Trk::Track *, ITRT_SegmentToTrackTool::EventData &event_data) const =0
Add track into the track-score multimap.
InDet::ITRT_SegmentToTrackTool::toLower
virtual bool toLower(const Trk::TrackSegment &) const =0
InDet::ITRT_SegmentToTrackTool::interfaceID
static const InterfaceID & interfaceID()
Definition
ITRT_SegmentToTrackTool.h:89
InDet::ITRT_SegmentToTrackTool::initialize
virtual StatusCode initialize()=0
InDet::ITRT_SegmentToTrackTool::finalize
virtual StatusCode finalize()=0
Trk::PRDtoTrackMap
Definition
PRDtoTrackMap.h:17
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
InDet
Primary Vertex Finder.
Definition
VP1ErrorUtils.h:36
InDet::IID_ITRT_SegmentToTrackTool
static const InterfaceID IID_ITRT_SegmentToTrackTool("InDet::ITRT_SegmentToTrackTool", 1, 0)
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
InDet::ITRT_SegmentToTrackTool::EventData
Definition
ITRT_SegmentToTrackTool.h:50
InDet::ITRT_SegmentToTrackTool::EventData::m_counter
std::array< int, kNCounter > m_counter
Definition
ITRT_SegmentToTrackTool.h:56
InDet::ITRT_SegmentToTrackTool::EventData::ECounter
ECounter
Definition
ITRT_SegmentToTrackTool.h:52
InDet::ITRT_SegmentToTrackTool::EventData::kNCounter
@ kNCounter
Definition
ITRT_SegmentToTrackTool.h:55
InDet::ITRT_SegmentToTrackTool::EventData::knTRTTrk
@ knTRTTrk
Number of TRT-only tracks on output.
Definition
ITRT_SegmentToTrackTool.h:54
InDet::ITRT_SegmentToTrackTool::EventData::knTrkSegUsed
@ knTrkSegUsed
Number of excluded segments by other TRT segments.
Definition
ITRT_SegmentToTrackTool.h:53
InDet::ITRT_SegmentToTrackTool::EventData::knTrkScoreZero
@ knTrkScoreZero
Number of tracks rejected by score zero.
Definition
ITRT_SegmentToTrackTool.h:52
InDet::ITRT_SegmentToTrackTool::EventData::m_trackScores
std::vector< std::pair< Trk::TrackScore, Trk::Track * > > m_trackScores
Definition
ITRT_SegmentToTrackTool.h:51
Generated on
for ATLAS Offline Software by
1.17.0