ATLAS Offline Software
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 
35 class MsgStream;
36 
37 namespace InDet {
38 
39  class SiSpacePointsSeed;
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 
87  virtual const SiSpacePointsSeed* next(ITRT_SeededSpacePointFinder::IEventData &event_data) const =0;
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 
108  inline const InterfaceID& ITRT_SeededSpacePointFinder::interfaceID()
109  {
110  return IID_ITRT_SeededSpacePointFinder;
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  }
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 
InDet::operator<<
MsgStream & operator<<(MsgStream &, const GNNTrackReaderTool &)
InDet::ITRT_SeededSpacePointFinder::IEventData
Definition: ITRT_SeededSpacePointFinder.h:51
TrackParameters.h
InDet::ITRT_SeededSpacePointFinder::newEvent
virtual std::unique_ptr< InDet::ITRT_SeededSpacePointFinder::IEventData > newEvent() const =0
SiSpacePointsSeed.h
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::ITRT_SeededSpacePointFinder::initialize
virtual StatusCode initialize()=0
InDet::ITRT_SeededSpacePointFinder
Definition: ITRT_SeededSpacePointFinder.h:45
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
keylayer_zslicemap.se
se
Definition: keylayer_zslicemap.py:194
InDet::ITRT_SeededSpacePointFinder::interfaceID
static const InterfaceID & interfaceID()
Definition: ITRT_SeededSpacePointFinder.h:108
InDet::ITRT_SeededSpacePointFinder::finalize
virtual StatusCode finalize()=0
InDet::ITRT_SeededSpacePointFinder::IEventData::~IEventData
virtual ~IEventData()
Definition: ITRT_SeededSpacePointFinder.h:53
InDet::ITRT_SeededSpacePointFinder::find2Sp
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
InDet::SiSpacePointsSeed
Definition: SiSpacePointsSeed.h:30
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::ITRT_SeededSpacePointFinder::next
virtual const SiSpacePointsSeed * next(ITRT_SeededSpacePointFinder::IEventData &event_data) const =0
InDet::ITRT_SeededSpacePointFinder::dump
virtual std::ostream & dump(std::ostream &out) const =0
Trk::ParametersBase
Definition: ParametersBase.h:55
IdentifierHash.h
InDet::ITRT_SeededSpacePointFinder::newRegion
virtual std::unique_ptr< InDet::ITRT_SeededSpacePointFinder::IEventData > newRegion(const std::vector< IdentifierHash > &, const std::vector< IdentifierHash > &) const =0
InDet::ITRT_SeededSpacePointFinder::dump
virtual MsgStream & dump(MsgStream &out) const =0