ATLAS Offline Software
Loading...
Searching...
No Matches
TgcRoadDefiner.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 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
22namespace 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
36 StatusCode defineRoad(const EventContext& ctx,
37 const TrigRoiDescriptor* p_roids,
38 const bool insideOut,
39 const TrigL2MuonSA::TgcHits& tgcHits,
40 TrigL2MuonSA::MuonRoad& muonRoad,
41 TrigL2MuonSA::TgcFitResult& tgcFitResult) const;
42
43 void setPtLUT(const TrigL2MuonSA::PtEndcapLUTSvc* ptEndcapLUTSvc) { m_ptEndcapLUT = ptEndcapLUTSvc->ptEndcapLUT(); };
44 void setRoadWidthForFailure(double rWidth_TGC_Failed) { m_rWidth_TGC_Failed = rWidth_TGC_Failed; };
45 void setExtrapolatorTool(ToolHandle<ITrigMuonBackExtrapolator>* backExtrapolator) { m_backExtrapolatorTool = backExtrapolator; };
46
47 bool prepareTgcPoints(const TrigL2MuonSA::TgcHits& tgcHits,
48 TrigL2MuonSA::TgcFit::PointArray& tgcStripInnPoints,
49 TrigL2MuonSA::TgcFit::PointArray& tgcWireInnPoints,
50 TrigL2MuonSA::TgcFit::PointArray& tgcStripMidPoints,
51 TrigL2MuonSA::TgcFit::PointArray& tgcWireMidPoints) const;
52
53 private:
54 // set in MuFastSteering::hltInitialize, setExtrapolatorTool
55 const ToolHandle<ITrigMuonBackExtrapolator>* m_backExtrapolatorTool {nullptr};
56 // set in MuFastSteering::hltInitialize, setMCFlag
57 const ToolHandle<PtEndcapLUT>* m_ptEndcapLUT {nullptr};
58
59 ToolHandle<TgcFit> m_tgcFit {"TrigL2MuonSA::TgcFit"};
60
62
63 ToolHandle<IRegSelTool> m_regionSelector{this, "RegionSelectionTool", "RegSelTool/RegSelTool_MDT", "MDT Region Selector Tool"};
64 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
65
66};
67
68// --------------------------------------------------------------------------------
69// --------------------------------------------------------------------------------
70}
71
72#endif // TRIGL2MUONSA_TGCROADDEFINER_H
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
const ToolHandle< PtEndcapLUT > * ptEndcapLUT(void) const
std::vector< Point > PointArray
Definition TgcFit.h:86
void setExtrapolatorTool(ToolHandle< ITrigMuonBackExtrapolator > *backExtrapolator)
const ToolHandle< ITrigMuonBackExtrapolator > * m_backExtrapolatorTool
bool prepareTgcPoints(const TrigL2MuonSA::TgcHits &tgcHits, TrigL2MuonSA::TgcFit::PointArray &tgcStripInnPoints, TrigL2MuonSA::TgcFit::PointArray &tgcWireInnPoints, TrigL2MuonSA::TgcFit::PointArray &tgcStripMidPoints, TrigL2MuonSA::TgcFit::PointArray &tgcWireMidPoints) const
ToolHandle< TgcFit > m_tgcFit
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
TgcRoadDefiner(const std::string &type, const std::string &name, const IInterface *parent)
void setPtLUT(const TrigL2MuonSA::PtEndcapLUTSvc *ptEndcapLUTSvc)
StatusCode defineRoad(const EventContext &ctx, const TrigRoiDescriptor *p_roids, const bool insideOut, const TrigL2MuonSA::TgcHits &tgcHits, TrigL2MuonSA::MuonRoad &muonRoad, TrigL2MuonSA::TgcFitResult &tgcFitResult) const
void setRoadWidthForFailure(double rWidth_TGC_Failed)
const ToolHandle< PtEndcapLUT > * m_ptEndcapLUT
ToolHandle< IRegSelTool > m_regionSelector
virtual StatusCode initialize() override
nope - should be used for standalone also, perhaps need to protect the class def bits ifndef XAOD_ANA...
std::vector< TgcHitData > TgcHits
Definition TgcData.h:43