ATLAS Offline Software
Loading...
Searching...
No Matches
ITRT_DetElementsRoadMaker.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_DetElementsRoadMaker
8// (c) ATLAS Detector software
10// Base class for detector elements road builder in TRT
11// All detector elements should be destributed in propagation order.
13// Version 1.0 11/08/2005 I.Gavrilenko
15
16#ifndef ITRT_DetElementsRoadMaker_H
17#define ITRT_DetElementsRoadMaker_H
18
19#include <list>
20#include "GaudiKernel/AlgTool.h"
21#include "GaudiKernel/EventContext.h"
25
26class MsgStream;
27
28namespace MagField {
29 class AtlasFieldCache;
30}
31
32namespace InDetDD {
33 class TRT_BaseElement;
34}
35
36namespace InDet {
37
38
39 static const InterfaceID IID_ITRT_DetElementsRoadMaker
40 ("InDet::ITRT_DetElementsRoadMaker",1,0);
41
42 class ITRT_DetElementsRoadMaker : virtual public IAlgTool
43 {
45 // Public methods:
47
48 public:
49
51 // Standard tool methods
53
54 static const InterfaceID& interfaceID();
55 virtual StatusCode initialize ()=0;
56 virtual StatusCode finalize ()=0;
57
59 // Main methods for road builder
61
62 virtual std::vector<const InDetDD::TRT_BaseElement*>
63 detElementsRoad(const EventContext& ctx,
64 MagField::AtlasFieldCache& fieldCache,
67
69 // Print internal tool parameters and status
71
72 virtual MsgStream& dump(MsgStream& out) const=0;
73 virtual std::ostream& dump(std::ostream& out) const=0;
74
75 };
76
78 // Overload of << operator for MsgStream and std::ostream
80
81 MsgStream& operator << (MsgStream& ,const ITRT_DetElementsRoadMaker&);
82 std::ostream& operator << (std::ostream&,const ITRT_DetElementsRoadMaker&);
83
85 // Inline methods
87
88 inline const InterfaceID& ITRT_DetElementsRoadMaker::interfaceID()
89 {
90 return IID_ITRT_DetElementsRoadMaker;
91 }
92
94 // Overload of << operator MsgStream
96
97 inline MsgStream& operator <<
98 (MsgStream& sl,const ITRT_DetElementsRoadMaker& se)
99 {
100 return se.dump(sl);
101 }
102
103 // Overload of << operator std::ostream
105
106 inline std::ostream& operator <<
107 (std::ostream& sl,const ITRT_DetElementsRoadMaker& se)
108 {
109 return se.dump(sl);
110 }
111
112} // end of name space
113
114
115#endif // ITRT_DetElementsRoadMaker_H
116
Virtual base class of TRT readout elements.
virtual MsgStream & dump(MsgStream &out) const =0
virtual std::vector< const InDetDD::TRT_BaseElement * > detElementsRoad(const EventContext &ctx, MagField::AtlasFieldCache &fieldCache, const Trk::TrackParameters &Tp, Trk::PropDirection D, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const =0
static const InterfaceID & interfaceID()
virtual std::ostream & dump(std::ostream &out) const =0
virtual StatusCode finalize()=0
virtual StatusCode initialize()=0
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
holding In fact this class is here in order to allow STL container for all features This class is sho...
Message Stream Member.
Primary Vertex Finder.
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
PropDirection
PropDirection, enum for direction of the propagation.
ParametersBase< TrackParametersDim, Charged > TrackParameters