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 
41  MdtRegionDefiner(const std::string& type,
42  const std::string& name,
43  const IInterface* parent);
44 
45  virtual StatusCode initialize() override;
46 
47  void setRpcGeometry(bool use_rpc){m_use_rpc = use_rpc;};
48 
49  public:
51  const TrigL2MuonSA::RpcFitResult& rpcFitResult,
52  TrigL2MuonSA::MuonRoad& muonRoad,
53  TrigL2MuonSA::MdtRegion& mdtRegion) const;
54 
56  const TrigL2MuonSA::TgcFitResult& tgcFitResult,
57  TrigL2MuonSA::MuonRoad& muonRoad,
58  TrigL2MuonSA::MdtRegion& mdtRegion) const;
59  static void find_station_sector(const std::string& name, int phi, bool& endcap, int& chamber, int& sector);
60 
61  private:
63  void find_barrel_road_dim(float max_road, float aw, float bw,
64  float rMmin,float rMax,float *zMin,float *zMax) const;
65  void find_endcap_road_dim(float road,float aw, float bw, float zMin,
66  float zMax,float *rMin,float *rMax) const;
67  void find_eta_min_max(float zMin, float rMin,
68  float zMax, float rMax,
69  float& etaMin, float& etaMax) const;
70  void find_phi_min_max(float phiMiddle, float& phiMin, float& phiMax) const;
71 
73  const TrigL2MuonSA::RpcFitResult& rpcFitResult,
74  const TrigL2MuonSA::MdtRegion& mdtRegion,
75  TrigL2MuonSA::MuonRoad& muonRoad) const;
76 
78  const TrigL2MuonSA::TgcFitResult& tgcFitResult,
79  const TrigL2MuonSA::MdtRegion& mdtRegion,
80  TrigL2MuonSA::MuonRoad& muonRoad) const;
81 
82  private:
83  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
84  SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_muDetMgrKey {this, "DetectorManagerKey", "MuonDetectorManager", "Key of input MuonDetectorManager condition data"};
85 
86  bool m_use_rpc {true};
87 
88  TrigL2MuonSA::TgcFit::PointArray m_tgcStripMidPoints; // List of TGC strip middle station points.
89  TrigL2MuonSA::TgcFit::PointArray m_tgcWireMidPoints; // List of TGC wire middle station points.
90  TrigL2MuonSA::TgcFit::PointArray m_tgcStripInnPoints; // List of TGC strip inner station points.
91  TrigL2MuonSA::TgcFit::PointArray m_tgcWireInnPoints; // List of TGC wire inner station points.
92 
93  };
94 
95  // --------------------------------------------------------------------------------
96  // --------------------------------------------------------------------------------
97 }
98 
99 #endif // TRIGL2MUONSA_TESTCLASS_H
MuonRoad.h
TrigL2MuonSA::MdtRegionDefiner::initialize
virtual StatusCode initialize() override
Definition: MdtRegionDefiner.cxx:27
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:37
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
TrigL2MuonSA::RpcFitResult
Definition: RpcFitResult.h:14
calibdata.chamber
chamber
Definition: calibdata.py:32
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:47
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::MdtRegionDefiner::find_endcap_road_dim
void find_endcap_road_dim(float road, float aw, float bw, float zMin, float zMax, float *rMin, float *rMax) const
Definition: MdtRegionDefiner.cxx:515
TrigL2MuonSA::MdtRegion
Definition: MdtRegion.h:14
TrigL2MuonSA::MdtRegionDefiner::m_tgcStripInnPoints
TrigL2MuonSA::TgcFit::PointArray m_tgcStripInnPoints
Definition: MdtRegionDefiner.h:90
RpcData.h
TrigL2MuonSA::MdtRegionDefiner::MdtRegionDefiner
MdtRegionDefiner(const std::string &type, const std::string &name, const IInterface *parent)
Definition: MdtRegionDefiner.cxx:17
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:84
test_pyathena.parent
parent
Definition: test_pyathena.py:15
RpcFitResult.h
TrigL2MuonSA::MdtRegionDefiner::m_tgcStripMidPoints
TrigL2MuonSA::TgcFit::PointArray m_tgcStripMidPoints
Definition: MdtRegionDefiner.h:88
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:433
TrigL2MuonSA::MdtRegionDefiner::prepareTgcPoints
StatusCode prepareTgcPoints(const TrigL2MuonSA::TgcHits &tgcHits)
Definition: MdtRegionDefiner.cxx:552
MdtRegion.h
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:381
ReadCondHandleKey.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TgcData.h
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:91
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrigL2MuonSA::MdtRegionDefiner::m_use_rpc
bool m_use_rpc
Definition: MdtRegionDefiner.h:86
TrigL2MuonSA::MdtRegionDefiner::find_barrel_road_dim
void find_barrel_road_dim(float max_road, float aw, float bw, float rMmin, float rMax, float *zMin, float *zMax) const
Definition: MdtRegionDefiner.cxx:479
TrigL2MuonSA::MdtRegionDefiner::computePhi
StatusCode computePhi(const TrigRoiDescriptor *p_roids, const TrigL2MuonSA::RpcFitResult &rpcFitResult, const TrigL2MuonSA::MdtRegion &mdtRegion, TrigL2MuonSA::MuonRoad &muonRoad) const
Definition: MdtRegionDefiner.cxx:590
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:89
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:422
IMuonIdHelperSvc.h
TrigL2MuonSA::MdtRegionDefiner::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MdtRegionDefiner.h:83
TrigL2MuonSA
Definition: AlignmentBarrelLUT.h:13
ServiceHandle< Muon::IMuonIdHelperSvc >