ATLAS Offline Software
RIO_OnTrackCreator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // RIO_OnTrackCreator.h
6 // Header file for class RIO_OnTrackCreator
8 // (c) ATLAS Detector software
10 // Wolfgang.Liebig@cern.ch, Andreas.Salzburger@cern.ch
12 
13 
14 #ifndef TRKTOOLS_RIOONTRACKCREATOR_H
15 #define TRKTOOLS_RIOONTRACKCREATOR_H
16 
17 // Athena
18 #include "GaudiKernel/ThreadLocalContext.h"
20 #include "GaudiKernel/ToolHandle.h"
21 // Trk
24 
25 class AtlasDetectorID;
26 
27 namespace Trk {
28 
29  class PrepRawData;
30  class RIO_OnTrack;
31 
53  class RIO_OnTrackCreator final : public AthAlgTool,
54  virtual public IRIO_OnTrackCreator {
55  public:
57  // Public methods:
59 
61  RIO_OnTrackCreator(const std::string&,const std::string&,
62  const IInterface*);
65 
67  virtual StatusCode initialize() override;
68 
71  const TrackParameters&,
72  const EventContext& ctx) const override;
73 
74  private:
76  // Private data:
78 
80  const AtlasDetectorID* m_idHelper{nullptr};
82  ToolHandle<IRIO_OnTrackCreator> m_pixClusCor{
83  this, "ToolPixelCluster",
84  "InDet::PixelClusterOnTrackTool/PixelClusterOnTrackTool"};
87  ToolHandle<IRIO_OnTrackCreator> m_sctClusCor{
88  this, "ToolSCT_Cluster",
89  "InDet::SCT_ClusterOnTrackTool/SCT_ClusterOnTrackTool"};
92  ToolHandle<IRIO_OnTrackCreator> m_trt_Cor{
93  this, "ToolTRT_DriftCircle",
94  "InDet::TRT_DriftCircleOnTrackTool/TRT_DriftCircleOnTrackTool"};
97  ToolHandle<IRIO_OnTrackCreator> m_muonDriftCircleCor{
98  this, "ToolMuonDriftCircle",
99  "Muon::MdtDriftCircleOnTrackCreator/MdtDriftCircleOnTrackTool"};
103  ToolHandle<IRIO_OnTrackCreator> m_muonClusterCor{
104  this, "ToolMuonCluster",
105  "Muon::MuonClusterOnTrackCreator/MuonClusterOnTrackTool"};
106 
107  Gaudi::Property<std::string>m_mode{this, "Mode" ,"all" };
108  bool m_doPixel{true};
109  bool m_doSCT{true};
110  bool m_doTRT{true};
111  //emum for the flag
112  enum struct Mode {
113  all = 0,
114  indet = 1,
115  muon = 2,
116  invalid = 3
117  };
119  };
120 
121 } // end of namespace
122 
123 #endif // TRKTOOLS_RIOONTRACKCREATOR_H
Trk::RIO_OnTrackCreator::Mode::muon
@ muon
TrackParameters.h
Trk::RIO_OnTrackCreator::m_doPixel
bool m_doPixel
Load Pixel IRIO_OnTrackCreator.
Definition: RIO_OnTrackCreator.h:108
Trk::RIO_OnTrackCreator::m_doTRT
bool m_doTRT
Load TRT IRIO_OnTrackCreator.
Definition: RIO_OnTrackCreator.h:110
Trk::RIO_OnTrackCreator::RIO_OnTrackCreator
RIO_OnTrackCreator(const std::string &, const std::string &, const IInterface *)
standard AlgTool constructor
Definition: RIO_OnTrackCreator.cxx:26
IRIO_OnTrackCreator.h
Trk::RIO_OnTrackCreator::Mode::invalid
@ invalid
Trk::RIO_OnTrackCreator::m_muonDriftCircleCor
ToolHandle< IRIO_OnTrackCreator > m_muonDriftCircleCor
Detector-specific helper tool, performing the actual calibration corrections for every Muon::MdtPrepD...
Definition: RIO_OnTrackCreator.h:97
Trk::RIO_OnTrack
Definition: RIO_OnTrack.h:70
Trk::RIO_OnTrackCreator::m_sctClusCor
ToolHandle< IRIO_OnTrackCreator > m_sctClusCor
Detector-specific helper tool, performing the actual calibration corrections for every InDet::SCT_Clu...
Definition: RIO_OnTrackCreator.h:87
Trk::RIO_OnTrackCreator::m_doSCT
bool m_doSCT
Load SCT IRIO_OnTrackCreator.
Definition: RIO_OnTrackCreator.h:109
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
Trk::RIO_OnTrackCreator::m_muonClusterCor
ToolHandle< IRIO_OnTrackCreator > m_muonClusterCor
Detector-specific helper tool, performing the actual calibration corrections for the remaining muon d...
Definition: RIO_OnTrackCreator.h:103
Trk::ParametersBase
Definition: ParametersBase.h:55
Trk::PrepRawData
Definition: PrepRawData.h:62
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::RIO_OnTrackCreator::initialize
virtual StatusCode initialize() override
get specific ROT tools and the AtlasIdHelper
Definition: RIO_OnTrackCreator.cxx:35
Trk::RIO_OnTrackCreator::m_pixClusCor
ToolHandle< IRIO_OnTrackCreator > m_pixClusCor
Detector-specific helper tool, performing the actual calibration corrections for every InDet::PixelCl...
Definition: RIO_OnTrackCreator.h:82
Trk::RIO_OnTrackCreator::~RIO_OnTrackCreator
virtual ~RIO_OnTrackCreator()
virtual destructor
Trk::RIO_OnTrackCreator::correct
RIO_OnTrack * correct(const PrepRawData &, const TrackParameters &, const EventContext &ctx) const override
the master method for going from RIO to ROT.
Definition: RIO_OnTrackCreator.cxx:97
Trk::RIO_OnTrackCreator::m_trt_Cor
ToolHandle< IRIO_OnTrackCreator > m_trt_Cor
Detector-specific helper tool, performing the actual calibration corrections for every InDet::TRT::Dr...
Definition: RIO_OnTrackCreator.h:92
Trk::MeasurementBaseType::RIO_OnTrack
@ RIO_OnTrack
Definition: MeasurementBase.h:49
Trk::RIO_OnTrackCreator::Mode
Mode
Definition: RIO_OnTrackCreator.h:112
Trk::RIO_OnTrackCreator::m_mode
Gaudi::Property< std::string > m_mode
flag: can be 'all', 'indet' or 'muon'
Definition: RIO_OnTrackCreator.h:107
Trk::RIO_OnTrackCreator::Mode::all
@ all
Trk::RIO_OnTrackCreator::m_idHelper
const AtlasDetectorID * m_idHelper
Helper to detect type of sub-detector from PRD->identify().
Definition: RIO_OnTrackCreator.h:80
AthAlgTool
Definition: AthAlgTool.h:26
Trk::RIO_OnTrackCreator
general tool to converts clusters or driftcircles (Trk::PrepRawData) to fully calibrated hits (Trk::R...
Definition: RIO_OnTrackCreator.h:54
Trk::RIO_OnTrackCreator::m_enumMode
Mode m_enumMode
Definition: RIO_OnTrackCreator.h:118
Trk::IRIO_OnTrackCreator
Interface class for transforming Trk::PrepRawData to Trk::RIO_OnTrack using a local track hypothesis.
Definition: IRIO_OnTrackCreator.h:33
Trk::RIO_OnTrackCreator::Mode::indet
@ indet
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57