ATLAS Offline Software
Loading...
Searching...
No Matches
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
27class MsgStream;
28
29namespace InDetDD {
31}
32
33namespace InDet {
35
41
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,
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 }
124
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
static Double_t Tp(Double_t *t, Double_t *par)
Class to hold geometrical description of a silicon detector element.
Base class for detector elements road builder in Pixels and SCT.
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.
virtual MsgStream & dump(MsgStream &out) const =0
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.
DeclareInterfaceID(ISiDetElementsRoadMaker, 1, 0)
virtual std::ostream & dump(std::ostream &out) const =0
InDet::SiDetElementRoadMakerData_xk holds event dependent data used by SiDetElementRoadMaker_xk.
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
Message Stream Member.
Primary Vertex Finder.
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)
PropDirection
PropDirection, enum for direction of the propagation.
ParametersBase< TrackParametersDim, Charged > TrackParameters