ATLAS Offline Software
MuonSegmentTagSurfaces.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
10 
11 namespace {
12  static constexpr double rMinEI = 1700., rMinEM = 1500., rMinEO = 2200., rMinEE = 5000.;
13  static constexpr double rMaxEI = 6200., rMaxEM = 12000., rMaxEO = 12000., rMaxEE = 9500.;
14  static constexpr double rBI = 5000., rBM = 7000., rBO = 9500.;
15  static constexpr double lenBI = 12000., lenBM = 10000., lenBO = 13000.;
16  using StationIndex = Muon::MuonStationIndex::StIndex;
17 
18 } // namespace
19 
20 namespace MuonCombined {
21  int MuonSegmentTagSurfaces::stIdxToSurfDef(StationIndex stIndex, bool pos_eta) {
22  if (stIndex == StationIndex::BI || stIndex == StationIndex::BE) return SurfDef::BI;
23  if (stIndex == StationIndex::BM) return SurfDef::BM;
24  if (stIndex == StationIndex::BO) return SurfDef::BO;
25  if (pos_eta) {
26  if (stIndex == StationIndex::EI) return SurfDef::EIA;
27  if (stIndex == StationIndex::EM) return SurfDef::EMA;
28  if (stIndex == StationIndex::EO) return SurfDef::EOA;
29  if (stIndex == StationIndex::EE) return SurfDef::EEA;
30  }
31  if (stIndex == StationIndex::EI) return SurfDef::EIC;
32  if (stIndex == StationIndex::EM) return SurfDef::EMC;
33  if (stIndex == StationIndex::EO) return SurfDef::EOC;
34  if (stIndex == StationIndex::EE) return SurfDef::EEC;
35  return SurfDef::NumSurf;
36  }
38  const Amg::Vector3D posEI(0., 0., 7500.), posEM(0., 0., 13500.), posEO(0., 0., 21000.), posEE(0., 0., 10000.);
47 
48  m_vec[BI] = std::make_unique<Trk::CylinderSurface>(rBI, lenBI);
49  m_station[BI] = "BI";
50 
51  m_vec[BM] = std::make_unique<Trk::CylinderSurface>(rBM, lenBM);
52  m_station[BM] = "BM";
53 
54  m_vec[BO] = std::make_unique<Trk::CylinderSurface>(rBO, lenBO);
55  m_station[BO] = "BO";
56 
57  m_vec[EIA] = std::make_unique<Trk::DiscSurface>(transEIA, rMinEI, rMaxEI);
58  m_station[EIA] = "EIA";
59 
60  m_vec[EMA] = std::make_unique<Trk::DiscSurface>(transEMA, rMinEM, rMaxEM);
61  m_station[EMA] = "EMA";
62 
63  m_vec[EOA] = std::make_unique<Trk::DiscSurface>(transEOA, rMinEO, rMaxEO);
64  m_station[EOA] = "EOA";
65 
66  m_vec[EEA] = std::make_unique<Trk::DiscSurface>(transEEA, rMinEE, rMaxEE);
67  m_station[EEA] = "EEA";
68 
69  m_vec[EIC] = std::make_unique<Trk::DiscSurface>(transEIC, rMinEI, rMaxEI);
70  m_station[EIC] = "EIC";
71 
72  m_vec[EMC] = std::make_unique<Trk::DiscSurface>(transEMC, rMinEM, rMaxEM);
73  m_station[EMC] = "EMC";
74 
75  m_vec[EOC] = std::make_unique<Trk::DiscSurface>(transEOC, rMinEO, rMaxEO);
76  m_station[EOC] = "EOC";
77 
78  m_vec[EEC] = std::make_unique<Trk::DiscSurface>(transEEC, rMinEE, rMaxEE);
79  m_station[EEC] = "EEC";
80  }
81 } // namespace MuonCombined
MuonCombined::MuonSegmentTagSurfaces::m_station
SurfaceStations m_station
Definition: MuonSegmentTagSurfaces.h:73
MuonCombined::MuonSegmentTagSurfaces::EMA
@ EMA
Definition: MuonSegmentTagSurfaces.h:28
MuonCombined::MuonSegmentTagSurfaces::EIA
@ EIA
Definition: MuonSegmentTagSurfaces.h:27
TRT_PAI_gasdata::EO
const float EO[NO]
Energy levels for Oxygen.
Definition: TRT_PAI_gasdata.h:301
MuonCombined::MuonSegmentTagSurfaces::EIC
@ EIC
Definition: MuonSegmentTagSurfaces.h:31
MuonCombined::MuonSegmentTagSurfaces::stIdxToSurfDef
static int stIdxToSurfDef(Muon::MuonStationIndex::StIndex st_idx, bool pos_eta)
Transforms the Muon Station index to a SurfDef index.
Definition: MuonSegmentTagSurfaces.cxx:21
MuonCombined::MuonSegmentTagSurfaces::EOC
@ EOC
Definition: MuonSegmentTagSurfaces.h:33
MuonCombined::MuonSegmentTagSurfaces::BO
@ BO
Definition: MuonSegmentTagSurfaces.h:26
MuonSegmentTagSurfaces.h
MuonCombined::MuonSegmentTagSurfaces::m_vec
SurfaceVec m_vec
Definition: MuonSegmentTagSurfaces.h:72
Ringer::EM
@ EM
Definition: CaloRingsDefs.h:19
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
CylinderSurface.h
MuonCombined::MuonSegmentTagSurfaces::EEC
@ EEC
Definition: MuonSegmentTagSurfaces.h:34
MuonCombined::MuonSegmentTagSurfaces::BM
@ BM
Definition: MuonSegmentTagSurfaces.h:25
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MuonCombined::MuonSegmentTagSurfaces::EMC
@ EMC
Definition: MuonSegmentTagSurfaces.h:32
MuonCombined::MuonSegmentTagSurfaces::BI
@ BI
Definition: MuonSegmentTagSurfaces.h:24
MuonCombined
The MuonTagToSegMap is an auxillary construct that links the MuonSegments associated with a combined ...
Definition: IMuonSystemExtensionTool.h:23
Amg::Translation3D
Eigen::Translation< double, 3 > Translation3D
Definition: GeoPrimitives.h:44
DiscSurface.h
MuonCombined::MuonSegmentTagSurfaces::EEA
@ EEA
Definition: MuonSegmentTagSurfaces.h:30
Muon::MuonStationIndex::StIndex
StIndex
enum to classify the different station layers in the muon spectrometer
Definition: MuonStationIndex.h:23
MuonStationIndex.h
MuonCombined::MuonSegmentTagSurfaces::EOA
@ EOA
Definition: MuonSegmentTagSurfaces.h:29
MuonCombined::MuonSegmentTagSurfaces::MuonSegmentTagSurfaces
MuonSegmentTagSurfaces()
Definition: MuonSegmentTagSurfaces.cxx:37