ATLAS Offline Software
Loading...
Searching...
No Matches
MdtRegionDefiner.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_MDTREGIONDEFINER_H
6#define TRIGL2MUONSA_MDTREGIONDEFINER_H
7
9#include "GaudiKernel/ServiceHandle.h"
10
15
16#include "TgcFit.h"
17#include "TgcData.h"
18#include "RpcData.h"
19#include "TgcFitResult.h"
20#include "RpcFitResult.h"
21#include "MuonRoad.h"
22#include "MdtRegion.h"
23
24#include <string>
25
26namespace MuonGM {
28 class MuonStation;
29}
30
31namespace TrigL2MuonSA {
32
33
34// --------------------------------------------------------------------------------
35// --------------------------------------------------------------------------------
36
38 {
39 public:
40
42
43 virtual StatusCode initialize() override;
44
45 void setRpcGeometry(bool use_rpc){m_use_rpc = use_rpc;};
46
47 public:
48 StatusCode getMdtRegions(const TrigRoiDescriptor* p_roids,
49 const TrigL2MuonSA::RpcFitResult& rpcFitResult,
50 TrigL2MuonSA::MuonRoad& muonRoad,
51 TrigL2MuonSA::MdtRegion& mdtRegion) const;
52
53 StatusCode getMdtRegions(const TrigRoiDescriptor* p_roids,
54 const TrigL2MuonSA::TgcFitResult& tgcFitResult,
55 TrigL2MuonSA::MuonRoad& muonRoad,
56 TrigL2MuonSA::MdtRegion& mdtRegion) const;
57 static void find_station_sector(const std::string& name, int phi, bool& endcap, int& chamber, int& sector);
58
59 private:
60 StatusCode prepareTgcPoints(const TrigL2MuonSA::TgcHits& tgcHits);
61 void find_barrel_road_dim(const float max_road, const float aw, const float bw,
62 const float rMmin, const float rMax, float& zMin, float& zMax) const;
63 void find_endcap_road_dim(const float road, const float aw, const float bw, const float zMin,
64 const float zMax,float& rMin,float& rMax) const;
65 void find_eta_min_max(float zMin, float rMin,
66 float zMax, float rMax,
67 float& etaMin, float& etaMax) const;
68 void find_phi_min_max(float phiMiddle, float& phiMin, float& phiMax) const;
69
70 StatusCode computePhi(const TrigRoiDescriptor* p_roids,
71 const TrigL2MuonSA::TgcFitResult& tgcFitResult,
72 const TrigL2MuonSA::MdtRegion& mdtRegion,
73 TrigL2MuonSA::MuonRoad& muonRoad) const;
74
75 private:
76 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
77 SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_muDetMgrKey {this, "DetectorManagerKey", "MuonDetectorManager", "Key of input MuonDetectorManager condition data"};
78
79 bool m_use_rpc {true};
80
81 TrigL2MuonSA::TgcFit::PointArray m_tgcStripMidPoints; // List of TGC strip middle station points.
82 TrigL2MuonSA::TgcFit::PointArray m_tgcWireMidPoints; // List of TGC wire middle station points.
83 TrigL2MuonSA::TgcFit::PointArray m_tgcStripInnPoints; // List of TGC strip inner station points.
84 TrigL2MuonSA::TgcFit::PointArray m_tgcWireInnPoints; // List of TGC wire inner station points.
85
86 };
87
88 // --------------------------------------------------------------------------------
89 // --------------------------------------------------------------------------------
90}
91
92#endif // TRIGL2MUONSA_TESTCLASS_H
Scalar phi() const
phi method
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
StatusCode prepareTgcPoints(const TrigL2MuonSA::TgcHits &tgcHits)
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
StatusCode computePhi(const TrigRoiDescriptor *p_roids, const TrigL2MuonSA::TgcFitResult &tgcFitResult, const TrigL2MuonSA::MdtRegion &mdtRegion, TrigL2MuonSA::MuonRoad &muonRoad) const
void find_phi_min_max(float phiMiddle, float &phiMin, float &phiMax) const
virtual StatusCode initialize() override
StatusCode getMdtRegions(const TrigRoiDescriptor *p_roids, const TrigL2MuonSA::RpcFitResult &rpcFitResult, TrigL2MuonSA::MuonRoad &muonRoad, TrigL2MuonSA::MdtRegion &mdtRegion) const
void find_barrel_road_dim(const float max_road, const float aw, const float bw, const float rMmin, const float rMax, float &zMin, float &zMax) const
static void find_station_sector(const std::string &name, int phi, bool &endcap, int &chamber, int &sector)
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_muDetMgrKey
TrigL2MuonSA::TgcFit::PointArray m_tgcStripMidPoints
void find_endcap_road_dim(const float road, const float aw, const float bw, const float zMin, const float zMax, float &rMin, float &rMax) const
TrigL2MuonSA::TgcFit::PointArray m_tgcWireMidPoints
void find_eta_min_max(float zMin, float rMin, float zMax, float rMax, float &etaMin, float &etaMax) const
TrigL2MuonSA::TgcFit::PointArray m_tgcWireInnPoints
TrigL2MuonSA::TgcFit::PointArray m_tgcStripInnPoints
std::vector< Point > PointArray
Definition TgcFit.h:86
nope - should be used for standalone also, perhaps need to protect the class def bits ifndef XAOD_ANA...
Ensure that the Athena extensions are properly loaded.
Definition GeoMuonHits.h:27
std::vector< TgcHitData > TgcHits
Definition TgcData.h:43