ATLAS Offline Software
Loading...
Searching...
No Matches
ITRT_SeededSpacePointFinder.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_SeededSpacePointFinder
8// (c) ATLAS Detector software
10//
11// Base class for track candidates generation using space points information
12//
13// Example implementation
14//
15// seedsmaker->newEvent();
16//
17// const InDet::SiSpacePointsSeed* seed = 0;
18// seedsmaker->find2Sp();
19// while((seed=seedsmaker->next())) {
20// do some method with two space points seed;
21// }
22//
24// Version 1.0 04/18/2006 T.Koffas
26
27#ifndef ITRT_SeededSpacePointFinder_H
28#define ITRT_SeededSpacePointFinder_H
29
30#include "GaudiKernel/AlgTool.h"
34
35class MsgStream;
36
37namespace InDet {
38
40
41 static const InterfaceID IID_ITRT_SeededSpacePointFinder
42 ("InDet::ITRT_SeededSpacePointFinder",1,0);
43
44 class ITRT_SeededSpacePointFinder : virtual public IAlgTool
45 {
47 // Public methods:
49
50 public:
51 class IEventData {
52 public:
53 virtual ~IEventData() {}
54 };
55
57 // Standard tool methods
59
60 static const InterfaceID& interfaceID();
61 virtual StatusCode initialize ()=0;
62 virtual StatusCode finalize ()=0;
63
65 // Methods to initialize tool for new event or region
67
68 virtual std::unique_ptr<InDet::ITRT_SeededSpacePointFinder::IEventData> newEvent () const =0;
69 virtual std::unique_ptr<InDet::ITRT_SeededSpacePointFinder::IEventData> newRegion
70 (const std::vector<IdentifierHash>&,const std::vector<IdentifierHash>&) const =0;
71
73 // Methods to initilize different strategies of seeds production
74 // with two space points with or without vertex constraint
76
77 virtual std::list<std::pair<const Trk::SpacePoint*,const Trk::SpacePoint*> >
78 find2Sp (const EventContext& ctx,
79 const Trk::TrackParameters& tP,
80 ITRT_SeededSpacePointFinder::IEventData &event_data) const=0;
81
83 // Iterator through seeds pseudo collection produced accordingly
84 // methods find
86
88
90 // Print internal tool parameters and status
92
93 virtual MsgStream& dump(MsgStream& out) const=0;
94 virtual std::ostream& dump(std::ostream& out) const=0;
95 };
96
98 // Overload of << operator for MsgStream and std::ostream
100
101 MsgStream& operator << (MsgStream& ,const ITRT_SeededSpacePointFinder&);
102 std::ostream& operator << (std::ostream&,const ITRT_SeededSpacePointFinder&);
103
105 // Inline methods
107
109 {
111 }
112
114 // Overload of << operator MsgStream
116
117 inline MsgStream& operator <<
118 (MsgStream& sl,const ITRT_SeededSpacePointFinder& se)
119 {
120 return se.dump(sl);
121 }
122
123 // Overload of << operator std::ostream
125
126 inline std::ostream& operator <<
127 (std::ostream& sl,const ITRT_SeededSpacePointFinder& se)
128 {
129 return se.dump(sl);
130 }
131} // end of name space
132
133
134#endif // ITRT_SeededSpacePointFinder_H
135
virtual const SiSpacePointsSeed * next(ITRT_SeededSpacePointFinder::IEventData &event_data) const =0
virtual std::list< std::pair< const Trk::SpacePoint *, const Trk::SpacePoint * > > find2Sp(const EventContext &ctx, const Trk::TrackParameters &tP, ITRT_SeededSpacePointFinder::IEventData &event_data) const =0
virtual MsgStream & dump(MsgStream &out) const =0
virtual StatusCode initialize()=0
virtual std::unique_ptr< InDet::ITRT_SeededSpacePointFinder::IEventData > newEvent() const =0
virtual std::ostream & dump(std::ostream &out) const =0
virtual std::unique_ptr< InDet::ITRT_SeededSpacePointFinder::IEventData > newRegion(const std::vector< IdentifierHash > &, const std::vector< IdentifierHash > &) const =0
virtual StatusCode finalize()=0
Primary Vertex Finder.
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)
static const InterfaceID IID_ITRT_SeededSpacePointFinder("InDet::ITRT_SeededSpacePointFinder", 1, 0)
ParametersBase< TrackParametersDim, Charged > TrackParameters