ATLAS Offline Software
ISiDetElementsRoadMaker.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // Header file for class ISiDetElementsRoadMaker
8 // Version 1.0 26/02/2005 I.Gavrilenko
10 
11 #ifndef ISiDetElementsRoadMaker_H
12 #define ISiDetElementsRoadMaker_H
13 
18 
19 #include "GaudiKernel/AlgTool.h"
20 #include "GaudiKernel/EventContext.h"
22 
23 #include <list>
24 #include <deque>
25 #include <vector>
26 
27 class MsgStream;
28 
29 namespace InDetDD {
30  class SiDetectorElement;
31 }
32 
33 namespace InDet {
34  class SiDetElementRoadMakerData_xk;
35 
42  class ISiDetElementsRoadMaker : virtual public IAlgTool
43  {
45  // Public methods:
47 
48  public:
49 
51 
54 
69 
70  virtual void detElementsRoad
71  ( std::deque<Amg::Vector3D>& globalPositions,
72  std::vector<const InDetDD::SiDetectorElement*>& Road,
73  bool testDirection,
75  const EventContext& ctx) const=0;
76 
85  virtual void detElementsRoad
86  (const EventContext& ctx,
87  MagField::AtlasFieldCache& fieldCache,
88  const Trk::TrackParameters& Tp,
89  Trk::PropDirection direction,
90  std::vector<const InDetDD::SiDetectorElement*>& Road,
91  InDet::SiDetElementRoadMakerData_xk & roadMakerData) const=0;
93 
97 
98  virtual MsgStream& dump(MsgStream& out) const=0;
99  virtual std::ostream& dump(std::ostream& out) const=0;
101 
102  };
103 
105  // Overload of << operator for MsgStream and std::ostream
107 
108  MsgStream& operator << (MsgStream& ,const ISiDetElementsRoadMaker&);
109  std::ostream& operator << (std::ostream&,const ISiDetElementsRoadMaker&);
110 
112  // Inline methods
114 
116  // Overload of << operator MsgStream
118 
119  inline MsgStream& operator <<
120  (MsgStream& sl,const ISiDetElementsRoadMaker& se)
121  {
122  return se.dump(sl);
123  }
125  // Overload of << operator std::ostream
127 
128  inline std::ostream& operator <<
129  (std::ostream& sl,const ISiDetElementsRoadMaker& se)
130  {
131  return se.dump(sl);
132  }
133 
134 } // end of name space
135 
136 
137 #endif // ISiDetElementsRoadMaker_H
138 
InDet::operator<<
MsgStream & operator<<(MsgStream &, const GNNTrackReaderTool &)
InDet::ISiDetElementsRoadMaker::dump
virtual MsgStream & dump(MsgStream &out) const =0
TrackParameters.h
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
PropDirection.h
InDet::ISiDetElementsRoadMaker::detElementsRoad
virtual void detElementsRoad(const EventContext &ctx, MagField::AtlasFieldCache &fieldCache, const Trk::TrackParameters &Tp, Trk::PropDirection direction, std::vector< const InDetDD::SiDetectorElement * > &Road, InDet::SiDetElementRoadMakerData_xk &roadMakerData) const =0
This is the signature used in most ATLAS clients.
keylayer_zslicemap.se
se
Definition: keylayer_zslicemap.py:194
InDet::ISiDetElementsRoadMaker::detElementsRoad
virtual void detElementsRoad(std::deque< Amg::Vector3D > &globalPositions, std::vector< const InDetDD::SiDetectorElement * > &Road, bool testDirection, InDet::SiDetElementRoadMakerData_xk &roadMakerData, const EventContext &ctx) const =0
This signature assumes you already have a list of positions along the trajectory.
InDet::SiDetElementRoadMakerData_xk
Definition: SiDetElementRoadMakerData_xk.h:28
GeoPrimitives.h
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
SpacePoint.h
InDet::ISiDetElementsRoadMaker::DeclareInterfaceID
DeclareInterfaceID(ISiDetElementsRoadMaker, 1, 0)
AtlasFieldCache.h
Trk::ParametersBase
Definition: ParametersBase.h:55
InDet::ISiDetElementsRoadMaker
Definition: ISiDetElementsRoadMaker.h:43
InDet::ISiDetElementsRoadMaker::dump
virtual std::ostream & dump(std::ostream &out) const =0
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
MagField::AtlasFieldCache
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
Definition: AtlasFieldCache.h:43