ATLAS Offline Software
TgcRoadDefiner.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGL2MUONSA_TGCROADDEFINER_H
6 #define TRIGL2MUONSA_TGCROADDEFINER_H
7 
9 #include "GaudiKernel/ServiceHandle.h"
10 #include "GaudiKernel/ToolHandle.h"
11 
13 #include "PtEndcapLUTSvc.h"
14 #include "PtEndcapLUT.h"
15 #include "TgcFit.h"
16 #include "TgcData.h"
17 #include "MuonRoad.h"
21 
22 namespace TrigL2MuonSA {
23 
24 // --------------------------------------------------------------------------------
25 // --------------------------------------------------------------------------------
26 
28 {
29  public:
30  TgcRoadDefiner(const std::string& type,
31  const std::string& name,
32  const IInterface* parent);
33 
34  virtual StatusCode initialize() override;
35 
37  const bool insideOut,
38  const TrigL2MuonSA::TgcHits& tgcHits,
39  TrigL2MuonSA::MuonRoad& muonRoad,
40  TrigL2MuonSA::TgcFitResult& tgcFitResult) const;
41 
42  void setPtLUT(const TrigL2MuonSA::PtEndcapLUTSvc* ptEndcapLUTSvc) { m_ptEndcapLUT = ptEndcapLUTSvc->ptEndcapLUT(); };
43  void setRoadWidthForFailure(double rWidth_TGC_Failed) { m_rWidth_TGC_Failed = rWidth_TGC_Failed; };
44  void setExtrapolatorTool(ToolHandle<ITrigMuonBackExtrapolator>* backExtrapolator) { m_backExtrapolatorTool = backExtrapolator; };
45 
46  bool prepareTgcPoints(const TrigL2MuonSA::TgcHits& tgcHits,
47  TrigL2MuonSA::TgcFit::PointArray& tgcStripInnPoints,
48  TrigL2MuonSA::TgcFit::PointArray& tgcWireInnPoints,
49  TrigL2MuonSA::TgcFit::PointArray& tgcStripMidPoints,
50  TrigL2MuonSA::TgcFit::PointArray& tgcWireMidPoints) const;
51 
52  private:
53  // set in MuFastSteering::hltInitialize, setExtrapolatorTool
54  const ToolHandle<ITrigMuonBackExtrapolator>* m_backExtrapolatorTool {nullptr};
55  // set in MuFastSteering::hltInitialize, setMCFlag
56  const ToolHandle<PtEndcapLUT>* m_ptEndcapLUT {nullptr};
57 
58  ToolHandle<TgcFit> m_tgcFit {"TrigL2MuonSA::TgcFit"};
59 
60  double m_rWidth_TGC_Failed {0};
61 
62  ToolHandle<IRegSelTool> m_regionSelector{this, "RegionSelectionTool", "RegSelTool/RegSelTool_MDT", "MDT Region Selector Tool"};
63  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
64 
65 };
66 
67 // --------------------------------------------------------------------------------
68 // --------------------------------------------------------------------------------
69 }
70 
71 #endif // TRIGL2MUONSA_TGCROADDEFINER_H
IRegSelTool.h
MuonRoad.h
ITrigMuonBackExtrapolator.h
TrigL2MuonSA::TgcFitResult
Definition: TgcFitResult.h:11
TrigL2MuonSA::TgcHits
std::vector< TgcHitData > TgcHits
Definition: TgcData.h:43
TrigL2MuonSA::TgcRoadDefiner::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: TgcRoadDefiner.h:63
TgcFit.h
TrigRoiDescriptor
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
Definition: TrigRoiDescriptor.h:56
PtEndcapLUTSvc.h
TrigL2MuonSA::TgcRoadDefiner::defineRoad
StatusCode defineRoad(const TrigRoiDescriptor *p_roids, const bool insideOut, const TrigL2MuonSA::TgcHits &tgcHits, TrigL2MuonSA::MuonRoad &muonRoad, TrigL2MuonSA::TgcFitResult &tgcFitResult) const
Definition: TgcRoadDefiner.cxx:46
TrigL2MuonSA::TgcRoadDefiner::m_tgcFit
ToolHandle< TgcFit > m_tgcFit
Definition: TgcRoadDefiner.h:58
TrigL2MuonSA::TgcRoadDefiner::m_rWidth_TGC_Failed
double m_rWidth_TGC_Failed
Definition: TgcRoadDefiner.h:60
TrigL2MuonSA::MuonRoad
Definition: MuonRoad.h:20
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PtEndcapLUT.h
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TrigL2MuonSA::PtEndcapLUTSvc::ptEndcapLUT
const ToolHandle< PtEndcapLUT > * ptEndcapLUT(void) const
Definition: PtEndcapLUTSvc.h:46
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TrigL2MuonSA::TgcRoadDefiner::m_regionSelector
ToolHandle< IRegSelTool > m_regionSelector
Definition: TgcRoadDefiner.h:62
TgcData.h
TrigL2MuonSA::TgcRoadDefiner::setRoadWidthForFailure
void setRoadWidthForFailure(double rWidth_TGC_Failed)
Definition: TgcRoadDefiner.h:43
TrigL2MuonSA::TgcRoadDefiner::setPtLUT
void setPtLUT(const TrigL2MuonSA::PtEndcapLUTSvc *ptEndcapLUTSvc)
Definition: TgcRoadDefiner.h:42
TrigL2MuonSA::TgcRoadDefiner::prepareTgcPoints
bool prepareTgcPoints(const TrigL2MuonSA::TgcHits &tgcHits, TrigL2MuonSA::TgcFit::PointArray &tgcStripInnPoints, TrigL2MuonSA::TgcFit::PointArray &tgcWireInnPoints, TrigL2MuonSA::TgcFit::PointArray &tgcStripMidPoints, TrigL2MuonSA::TgcFit::PointArray &tgcWireMidPoints) const
Definition: TgcRoadDefiner.cxx:424
TrigL2MuonSA::TgcRoadDefiner
Definition: TgcRoadDefiner.h:28
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrigL2MuonSA::TgcRoadDefiner::m_backExtrapolatorTool
const ToolHandle< ITrigMuonBackExtrapolator > * m_backExtrapolatorTool
Definition: TgcRoadDefiner.h:54
TrigL2MuonSA::TgcFit::PointArray
std::vector< Point > PointArray
Definition: TgcFit.h:86
TrigRoiDescriptor.h
TrigL2MuonSA::TgcRoadDefiner::m_ptEndcapLUT
const ToolHandle< PtEndcapLUT > * m_ptEndcapLUT
Definition: TgcRoadDefiner.h:56
TrigL2MuonSA::TgcRoadDefiner::TgcRoadDefiner
TgcRoadDefiner(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TgcRoadDefiner.cxx:17
AthAlgTool
Definition: AthAlgTool.h:26
TrigL2MuonSA::TgcRoadDefiner::initialize
virtual StatusCode initialize() override
Definition: TgcRoadDefiner.cxx:27
IMuonIdHelperSvc.h
TrigL2MuonSA::TgcRoadDefiner::setExtrapolatorTool
void setExtrapolatorTool(ToolHandle< ITrigMuonBackExtrapolator > *backExtrapolator)
Definition: TgcRoadDefiner.h:44
TrigL2MuonSA
Definition: AlignmentBarrelLUT.h:13
ServiceHandle< Muon::IMuonIdHelperSvc >
TrigL2MuonSA::PtEndcapLUTSvc
Definition: PtEndcapLUTSvc.h:20