ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetRecTools
InDetRecToolInterfaces
InDetRecToolInterfaces
ITRT_TrackSegmentsMaker.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// Header file for class ITRT_TrackSegmentsMaker
8
// (c) ATLAS Detector software
10
//
11
// Base class for track candidates generation using TRT_DriftCircles information
12
//
13
// Example implementation
14
//
15
// segmentsmaker->newEvent();
16
//
17
// segmentsmaker->find();
18
//
19
// const Trk::TrackSegment* tracksegment = 0;
20
//
21
// while((tracksegment=segmentsmaker->next())) {
22
// do some method with TRT track segment;
23
// }
24
//
26
// Version 1.0 11/10/2005 I.Gavrilenko
28
29
#ifndef ITRT_TrackSegmentsMaker_H
30
#define ITRT_TrackSegmentsMaker_H
31
32
#include "GaudiKernel/AlgTool.h"
33
#include "GaudiKernel/EventContext.h"
34
#include "
Identifier/IdentifierHash.h
"
35
#include "
TrkSegment/TrackSegment.h
"
36
#include "
VxVertex/Vertex.h
"
37
#include "
TRT_ReadoutGeometry/TRT_DetElementLink_xk.h
"
38
39
class
MsgStream;
40
41
namespace
InDet
{
42
43
static
const
InterfaceID
IID_ITRT_TrackSegmentsMaker
44
(
"InDet::ITRT_TrackSegmentsMaker"
,1,0);
45
46
class
ITRT_TrackSegmentsMaker
:
virtual
public
IAlgTool
47
{
49
// Public methods:
51
52
public
:
53
class
IEventData
{
54
public
:
55
virtual
~IEventData
() {}
56
};
57
59
// Standard tool methods
61
62
static
const
InterfaceID&
interfaceID
();
63
virtual
StatusCode
initialize
()=0;
64
virtual
StatusCode
finalize
()=0;
65
67
// Methods to initialize tool for new event or region
69
70
virtual
std::unique_ptr<InDet::ITRT_TrackSegmentsMaker::IEventData>
newEvent
(
const
EventContext& ctx)
const
=0;
71
virtual
std::unique_ptr<InDet::ITRT_TrackSegmentsMaker::IEventData>
newRegion
(
const
EventContext& ctx,
const
std::vector<IdentifierHash>&)
const
=0;
72
virtual
void
endEvent
(
InDet::ITRT_TrackSegmentsMaker::IEventData
&event_data)
const
=0;
73
75
// Methods of seeds production without vertex constraint
77
78
virtual
void
find
(
79
const
EventContext& ctx,
80
InDet::ITRT_TrackSegmentsMaker::IEventData
& event_data,
81
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap
&
used
)
const
= 0;
82
84
// Iterator through track segments pseudo collection produced
85
// accordingly methods find
87
88
virtual
Trk::TrackSegment
*
next
(
InDet::ITRT_TrackSegmentsMaker::IEventData
&event_data)
const
=0;
89
91
// Print internal tool parameters and status
93
94
virtual
MsgStream&
dump
(MsgStream& out)
const
=0;
95
virtual
std::ostream&
dump
(std::ostream& out)
const
=0;
96
97
};
98
100
// Overload of << operator for MsgStream and std::ostream
102
103
MsgStream&
operator <<
(MsgStream& ,
const
ITRT_TrackSegmentsMaker
&);
104
std::ostream&
operator <<
(std::ostream&,
const
ITRT_TrackSegmentsMaker
&);
105
107
// Inline methods
109
110
inline
const
InterfaceID&
ITRT_TrackSegmentsMaker::interfaceID
()
111
{
112
return
IID_ITRT_TrackSegmentsMaker
;
113
}
114
116
// Overload of << operator MsgStream
118
119
inline
MsgStream&
operator
<<
120
(MsgStream& sl,
const
ITRT_TrackSegmentsMaker
& se)
121
{
122
return
se.dump(sl);
123
}
124
126
// Overload of << operator std::ostream
128
129
inline
std::ostream&
operator
<<
130
(std::ostream& sl,
const
ITRT_TrackSegmentsMaker
& se)
131
{
132
return
se.dump(sl);
133
}
134
}
// end of name space
135
136
137
#endif
// ITRT_TrackSegmentsMaker_H
138
IdentifierHash.h
TRT_DetElementLink_xk.h
TrackSegment.h
Vertex.h
InDet::ITRT_TrackSegmentsMaker::IEventData
Definition
ITRT_TrackSegmentsMaker.h:53
InDet::ITRT_TrackSegmentsMaker::IEventData::~IEventData
virtual ~IEventData()
Definition
ITRT_TrackSegmentsMaker.h:55
InDet::ITRT_TrackSegmentsMaker
Definition
ITRT_TrackSegmentsMaker.h:47
InDet::ITRT_TrackSegmentsMaker::newEvent
virtual std::unique_ptr< InDet::ITRT_TrackSegmentsMaker::IEventData > newEvent(const EventContext &ctx) const =0
InDet::ITRT_TrackSegmentsMaker::endEvent
virtual void endEvent(InDet::ITRT_TrackSegmentsMaker::IEventData &event_data) const =0
InDet::ITRT_TrackSegmentsMaker::dump
virtual std::ostream & dump(std::ostream &out) const =0
InDet::ITRT_TrackSegmentsMaker::next
virtual Trk::TrackSegment * next(InDet::ITRT_TrackSegmentsMaker::IEventData &event_data) const =0
InDet::ITRT_TrackSegmentsMaker::newRegion
virtual std::unique_ptr< InDet::ITRT_TrackSegmentsMaker::IEventData > newRegion(const EventContext &ctx, const std::vector< IdentifierHash > &) const =0
InDet::ITRT_TrackSegmentsMaker::finalize
virtual StatusCode finalize()=0
InDet::ITRT_TrackSegmentsMaker::dump
virtual MsgStream & dump(MsgStream &out) const =0
InDet::ITRT_TrackSegmentsMaker::initialize
virtual StatusCode initialize()=0
InDet::ITRT_TrackSegmentsMaker::interfaceID
static const InterfaceID & interfaceID()
Definition
ITRT_TrackSegmentsMaker.h:110
InDet::ITRT_TrackSegmentsMaker::find
virtual void find(const EventContext &ctx, InDet::ITRT_TrackSegmentsMaker::IEventData &event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const =0
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap
std::array< std::vector< std::vector< Used_t > >, 3 > TRT_DetElemUsedMap
Definition
TRT_DetElementLink_xk.h:42
Trk::TrackSegment
Class for a generic track segment that holdes polymorphic Trk::MeasurementBase objects,...
Definition
TrackSegment.h:56
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::operator<<
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)
InDet::IID_ITRT_TrackSegmentsMaker
static const InterfaceID IID_ITRT_TrackSegmentsMaker("InDet::ITRT_TrackSegmentsMaker", 1, 0)
Generated on
for ATLAS Offline Software by
1.17.0