ATLAS Offline Software
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 
26 namespace MuonGM {
27  class MdtReadoutElement;
28  class MuonStation;
29 }
30 
31 namespace 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:
49  const TrigL2MuonSA::RpcFitResult& rpcFitResult,
50  TrigL2MuonSA::MuonRoad& muonRoad,
51  TrigL2MuonSA::MdtRegion& mdtRegion) const;
52 
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:
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 
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
MuonRoad.h
TrigL2MuonSA::MdtRegionDefiner::initialize
virtual StatusCode initialize() override
Definition: MdtRegionDefiner.cxx:19
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
TrigL2MuonSA::MdtRegionDefiner::getMdtRegions
StatusCode getMdtRegions(const TrigRoiDescriptor *p_roids, const TrigL2MuonSA::RpcFitResult &rpcFitResult, TrigL2MuonSA::MuonRoad &muonRoad, TrigL2MuonSA::MdtRegion &mdtRegion) const
Definition: MdtRegionDefiner.cxx:29
TrigL2MuonSA::MdtRegionDefiner::find_barrel_road_dim
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
Definition: MdtRegionDefiner.cxx:412
TrigL2MuonSA::RpcFitResult
Definition: RpcFitResult.h:14
calibdata.chamber
chamber
Definition: calibdata.py:31
TrigL2MuonSA::TgcFitResult
Definition: TgcFitResult.h:11
TrigL2MuonSA::TgcHits
std::vector< TgcHitData > TgcHits
Definition: TgcData.h:43
xAOD::etaMax
etaMax
Definition: HIEventShape_v2.cxx:46
TrigL2MuonSA::MdtRegionDefiner::setRpcGeometry
void setRpcGeometry(bool use_rpc)
Definition: MdtRegionDefiner.h:45
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
TrigL2MuonSA::MdtRegion
Definition: MdtRegion.h:15
TrigL2MuonSA::MdtRegionDefiner::m_tgcStripInnPoints
TrigL2MuonSA::TgcFit::PointArray m_tgcStripInnPoints
Definition: MdtRegionDefiner.h:83
RpcData.h
TrigL2MuonSA::MuonRoad
Definition: MuonRoad.h:20
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
TrigL2MuonSA::MdtRegionDefiner::m_muDetMgrKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_muDetMgrKey
Definition: MdtRegionDefiner.h:77
TrigL2MuonSA::MdtRegionDefiner::computePhi
StatusCode computePhi(const TrigRoiDescriptor *p_roids, const TrigL2MuonSA::TgcFitResult &tgcFitResult, const TrigL2MuonSA::MdtRegion &mdtRegion, TrigL2MuonSA::MuonRoad &muonRoad) const
Definition: MdtRegionDefiner.cxx:500
RpcFitResult.h
TrigL2MuonSA::MdtRegionDefiner::m_tgcStripMidPoints
TrigL2MuonSA::TgcFit::PointArray m_tgcStripMidPoints
Definition: MdtRegionDefiner.h:81
TgcFitResult.h
TrigL2MuonSA::MdtRegionDefiner::find_eta_min_max
void find_eta_min_max(float zMin, float rMin, float zMax, float rMax, float &etaMin, float &etaMax) const
Definition: MdtRegionDefiner.cxx:377
TrigL2MuonSA::MdtRegionDefiner::prepareTgcPoints
StatusCode prepareTgcPoints(const TrigL2MuonSA::TgcHits &tgcHits)
Definition: MdtRegionDefiner.cxx:462
MdtRegion.h
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
TrigL2MuonSA::MdtRegionDefiner::find_station_sector
static void find_station_sector(const std::string &name, int phi, bool &endcap, int &chamber, int &sector)
Definition: MdtRegionDefiner.cxx:329
ReadCondHandleKey.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
TgcData.h
TrigL2MuonSA::MdtRegionDefiner::find_endcap_road_dim
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
Definition: MdtRegionDefiner.cxx:437
MuonDetectorManager.h
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager >
LArCellBinning.etaMin
etaMin
Definition: LArCellBinning.py:84
TrigL2MuonSA::MdtRegionDefiner::m_tgcWireInnPoints
TrigL2MuonSA::TgcFit::PointArray m_tgcWireInnPoints
Definition: MdtRegionDefiner.h:84
TrigL2MuonSA::MdtRegionDefiner::m_use_rpc
bool m_use_rpc
Definition: MdtRegionDefiner.h:79
TrigL2MuonSA::TgcFit::PointArray
std::vector< Point > PointArray
Definition: TgcFit.h:86
TrigRoiDescriptor.h
TrigL2MuonSA::MdtRegionDefiner::m_tgcWireMidPoints
TrigL2MuonSA::TgcFit::PointArray m_tgcWireMidPoints
Definition: MdtRegionDefiner.h:82
AthAlgTool
Definition: AthAlgTool.h:26
TrigL2MuonSA::MdtRegionDefiner
Definition: MdtRegionDefiner.h:38
TrigL2MuonSA::MdtRegionDefiner::find_phi_min_max
void find_phi_min_max(float phiMiddle, float &phiMin, float &phiMax) const
Definition: MdtRegionDefiner.cxx:366
IMuonIdHelperSvc.h
TrigL2MuonSA::MdtRegionDefiner::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MdtRegionDefiner.h:76
TrigL2MuonSA
Definition: AlignmentBarrelLUT.h:13
ServiceHandle< Muon::IMuonIdHelperSvc >