ATLAS Offline Software
Loading...
Searching...
No Matches
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"
36#include "VxVertex/Vertex.h"
38
39class MsgStream;
40
41namespace 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,
82
84 // Iterator through track segments pseudo collection produced
85 // accordingly methods find
87
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 {
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
virtual std::unique_ptr< InDet::ITRT_TrackSegmentsMaker::IEventData > newEvent(const EventContext &ctx) const =0
virtual void endEvent(InDet::ITRT_TrackSegmentsMaker::IEventData &event_data) const =0
virtual std::ostream & dump(std::ostream &out) const =0
virtual Trk::TrackSegment * next(InDet::ITRT_TrackSegmentsMaker::IEventData &event_data) const =0
virtual std::unique_ptr< InDet::ITRT_TrackSegmentsMaker::IEventData > newRegion(const EventContext &ctx, const std::vector< IdentifierHash > &) const =0
virtual StatusCode finalize()=0
virtual MsgStream & dump(MsgStream &out) const =0
virtual StatusCode initialize()=0
static const InterfaceID & interfaceID()
virtual void find(const EventContext &ctx, InDet::ITRT_TrackSegmentsMaker::IEventData &event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const =0
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.
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)
static const InterfaceID IID_ITRT_TrackSegmentsMaker("InDet::ITRT_TrackSegmentsMaker", 1, 0)