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
19 #include "GaudiKernel/ToolHandle.h"
20 // Trk
23 
24 class AtlasDetectorID;
25 
26 namespace Trk {
27 
28  class PrepRawData;
29  class RIO_OnTrack;
30 
52  class RIO_OnTrackCreator final : public AthAlgTool,
53  virtual public IRIO_OnTrackCreator {
54  public:
56  // Public methods:
58 
60  RIO_OnTrackCreator(const std::string&,const std::string&,
61  const IInterface*);
64 
66  virtual StatusCode initialize() override;
67 
70  const TrackParameters&) const override;
71 
72  private:
74  // Private data:
76 
78  const AtlasDetectorID* m_idHelper{nullptr};
80  ToolHandle<IRIO_OnTrackCreator> m_pixClusCor{
81  this, "ToolPixelCluster",
82  "InDet::PixelClusterOnTrackTool/PixelClusterOnTrackTool"};
85  ToolHandle<IRIO_OnTrackCreator> m_sctClusCor{
86  this, "ToolSCT_Cluster",
87  "InDet::SCT_ClusterOnTrackTool/SCT_ClusterOnTrackTool"};
90  ToolHandle<IRIO_OnTrackCreator> m_trt_Cor{
91  this, "ToolTRT_DriftCircle",
92  "InDet::TRT_DriftCircleOnTrackTool/TRT_DriftCircleOnTrackTool"};
95  ToolHandle<IRIO_OnTrackCreator> m_muonDriftCircleCor{
96  this, "ToolMuonDriftCircle",
97  "Muon::MdtDriftCircleOnTrackCreator/MdtDriftCircleOnTrackTool"};
101  ToolHandle<IRIO_OnTrackCreator> m_muonClusterCor{
102  this, "ToolMuonCluster",
103  "Muon::MuonClusterOnTrackCreator/MuonClusterOnTrackTool"};
104 
105  Gaudi::Property<std::string>m_mode{this, "Mode" ,"all" };
106  bool m_doPixel{true};
107  bool m_doSCT{true};
108  bool m_doTRT{true};
109  //emum for the flag
110  enum struct Mode {
111  all = 0,
112  indet = 1,
113  muon = 2,
114  invalid = 3
115  };
117  };
118 
119 } // end of namespace
120 
121 #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:106
Trk::RIO_OnTrackCreator::m_doTRT
bool m_doTRT
Load TRT IRIO_OnTrackCreator.
Definition: RIO_OnTrackCreator.h:108
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:95
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:85
Trk::RIO_OnTrackCreator::m_doSCT
bool m_doSCT
Load SCT IRIO_OnTrackCreator.
Definition: RIO_OnTrackCreator.h:107
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:101
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::correct
RIO_OnTrack * correct(const PrepRawData &, const TrackParameters &) const override
the master method for going from RIO to ROT.
Definition: RIO_OnTrackCreator.cxx:97
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:80
Trk::RIO_OnTrackCreator::~RIO_OnTrackCreator
virtual ~RIO_OnTrackCreator()
virtual destructor
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:90
Trk::MeasurementBaseType::RIO_OnTrack
@ RIO_OnTrack
Definition: MeasurementBase.h:49
Trk::RIO_OnTrackCreator::Mode
Mode
Definition: RIO_OnTrackCreator.h:110
Trk::RIO_OnTrackCreator::m_mode
Gaudi::Property< std::string > m_mode
flag: can be 'all', 'indet' or 'muon'
Definition: RIO_OnTrackCreator.h:105
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:78
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:53
Trk::RIO_OnTrackCreator::m_enumMode
Mode m_enumMode
Definition: RIO_OnTrackCreator.h:116
Trk::IRIO_OnTrackCreator
Interface class for transforming Trk::PrepRawData to Trk::RIO_OnTrack using a local track hypothesis.
Definition: IRIO_OnTrackCreator.h:32
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