ATLAS Offline Software
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Muon::MuonChamberLayerDescription Class Reference

class managing geometry of the chamber layers More...

#include <MuonChamberLayerDescription.h>

Collaboration diagram for Muon::MuonChamberLayerDescription:

Public Member Functions

 MuonChamberLayerDescription ()
 constructor More...
 
MuonChamberLayerDescriptor getDescriptor (int sector, Muon::MuonStationIndex::DetectorRegionIndex region, Muon::MuonStationIndex::LayerIndex layer) const
 

Private Types

typedef std::vector< MuonChamberLayerDescriptorMuonChamberLayerDescriptorVec
 cached geometry More...
 

Private Member Functions

void initDefaultRegions ()
 initialize default geometry More...
 

Private Attributes

MuonChamberLayerDescriptorVec m_chamberLayerDescriptors
 

Detailed Description

class managing geometry of the chamber layers

Definition at line 15 of file MuonChamberLayerDescription.h.

Member Typedef Documentation

◆ MuonChamberLayerDescriptorVec

cached geometry

Definition at line 28 of file MuonChamberLayerDescription.h.

Constructor & Destructor Documentation

◆ MuonChamberLayerDescription()

Muon::MuonChamberLayerDescription::MuonChamberLayerDescription ( )

constructor

Definition at line 11 of file MuonChamberLayerDescription.cxx.

11 { initDefaultRegions(); }

Member Function Documentation

◆ getDescriptor()

MuonChamberLayerDescriptor Muon::MuonChamberLayerDescription::getDescriptor ( int  sector,
Muon::MuonStationIndex::DetectorRegionIndex  region,
Muon::MuonStationIndex::LayerIndex  layer 
) const

Definition at line 13 of file MuonChamberLayerDescription.cxx.

14  {
15  bool isSmall = (sector % 2 == 0);
17  if (chIndex < 0 || chIndex >= Muon::MuonStationIndex::ChIndexMax) {
18  MuonChamberLayerDescriptor descriptor;
19  return descriptor;
20  }
21 
22  MuonChamberLayerDescriptor descriptor = m_chamberLayerDescriptors[chIndex];
23  descriptor.sector = sector;
24  // exceptions for a few barrel regions
25  if (region == Muon::MuonStationIndex::Barrel) {
26  if ((sector == 10 || sector == 14) && layer == Muon::MuonStationIndex::Inner)
27  descriptor.referencePosition = 5400.;
28  else if ((sector == 11 || sector == 13) && layer == Muon::MuonStationIndex::Outer)
29  descriptor.referencePosition = 10650.;
30  } else if (region == Muon::MuonStationIndex::EndcapC) { // multiply reference position by -1 for C side
31  descriptor.region = region;
33  descriptor.yMinRange *= -1;
34  descriptor.yMaxRange *= -1;
35  std::swap(descriptor.yMinRange, descriptor.yMaxRange);
36  } else {
37  descriptor.referencePosition *= -1;
38  }
39  }
40 
41  if (descriptor.chIndex < 0 || descriptor.chIndex >= Muon::MuonStationIndex::ChIndexMax) {
42  std::cout << " bad descriptor!!!! " << Muon::MuonStationIndex::regionName(region) << " "
43  << Muon::MuonStationIndex::layerName(layer) << " " << isSmall << " " << chIndex << std::endl;
44  }
45  return descriptor;
46  }

◆ initDefaultRegions()

void Muon::MuonChamberLayerDescription::initDefaultRegions ( )
private

initialize default geometry

Definition at line 48 of file MuonChamberLayerDescription.cxx.

48  {
51  MuonChamberLayerDescriptor(1, Muon::MuonStationIndex::Barrel, Muon::MuonStationIndex::BIS, 4560, -7500, 7500, 30, 0.1, 3);
53  MuonChamberLayerDescriptor(1, Muon::MuonStationIndex::Barrel, Muon::MuonStationIndex::BIL, 4950, -7000, 7000, 30, 0.1, 3);
55  MuonChamberLayerDescriptor(1, Muon::MuonStationIndex::Barrel, Muon::MuonStationIndex::BMS, 8096, -9500, 9500, 30, 0.1, 5);
57  MuonChamberLayerDescriptor(1, Muon::MuonStationIndex::Barrel, Muon::MuonStationIndex::BML, 7153, -9500, 9500, 30, 0.1, 5);
59  MuonChamberLayerDescriptor(1, Muon::MuonStationIndex::Barrel, Muon::MuonStationIndex::BOS, 10570, -13500, 13500, 30, 0.1, 7);
61  MuonChamberLayerDescriptor(1, Muon::MuonStationIndex::Barrel, Muon::MuonStationIndex::BOL, 9500, -13500, 13500, 30, 0.1, 7);
63  MuonChamberLayerDescriptor(1, Muon::MuonStationIndex::EndcapA, Muon::MuonStationIndex::BEE, 4415, 7500, 13000, 30, 0.1, 5);
65  MuonChamberLayerDescriptor(1, Muon::MuonStationIndex::EndcapA, Muon::MuonStationIndex::EIS, 7270, 1000, 7000, 30, .05, 3);
67  MuonChamberLayerDescriptor(1, Muon::MuonStationIndex::EndcapA, Muon::MuonStationIndex::EIL, 7675, 1000, 8000, 30, .05, 3);
69  MuonChamberLayerDescriptor(1, Muon::MuonStationIndex::EndcapA, Muon::MuonStationIndex::EES, 10800, 4000, 10000, 30, 0.1, 5);
71  MuonChamberLayerDescriptor(1, Muon::MuonStationIndex::EndcapA, Muon::MuonStationIndex::EEL, 11330, 4000, 10000, 30, 0.1, 5);
73  MuonChamberLayerDescriptor(1, Muon::MuonStationIndex::EndcapA, Muon::MuonStationIndex::EMS, 13872, 1500, 13000, 30, 0.1, 5);
75  MuonChamberLayerDescriptor(1, Muon::MuonStationIndex::EndcapA, Muon::MuonStationIndex::EML, 14310, 1500, 13000, 30, 0.1, 5);
77  MuonChamberLayerDescriptor(1, Muon::MuonStationIndex::EndcapA, Muon::MuonStationIndex::EOS, 21841, 2000, 13500, 30, 0.1, 7);
79  MuonChamberLayerDescriptor(1, Muon::MuonStationIndex::EndcapA, Muon::MuonStationIndex::EOL, 21421, 2000, 13500, 30, 0.1, 7);
80  }

Member Data Documentation

◆ m_chamberLayerDescriptors

MuonChamberLayerDescriptorVec Muon::MuonChamberLayerDescription::m_chamberLayerDescriptors
private

Definition at line 29 of file MuonChamberLayerDescription.h.


The documentation for this class was generated from the following files:
Muon::MuonStationIndex::BIS
@ BIS
Definition: MuonStationIndex.h:17
Muon::MuonStationIndex::toChamberIndex
static ChIndex toChamberIndex(DetectorRegionIndex region, LayerIndex layer, bool isSmall)
convert DetectorRegionIndex + LayerIndex + isSmall into ChIndex
Definition: MuonStationIndex.cxx:98
Muon::MuonStationIndex::CSS
@ CSS
Definition: MuonStationIndex.h:18
Muon::MuonStationIndex::BarrelExtended
@ BarrelExtended
EE.
Definition: MuonStationIndex.h:42
Muon::MuonStationIndex::EndcapA
@ EndcapA
Definition: MuonStationIndex.h:49
Muon::MuonStationIndex::Inner
@ Inner
Definition: MuonStationIndex.h:40
Muon::MuonStationIndex::Outer
@ Outer
Definition: MuonStationIndex.h:40
Muon::MuonStationIndex::EEL
@ EEL
Definition: MuonStationIndex.h:18
Muon::MuonStationIndex::BML
@ BML
Definition: MuonStationIndex.h:17
Muon::MuonChamberLayerDescription::initDefaultRegions
void initDefaultRegions()
initialize default geometry
Definition: MuonChamberLayerDescription.cxx:48
Muon::MuonStationIndex::BOS
@ BOS
Definition: MuonStationIndex.h:17
Muon::MuonStationIndex::BMS
@ BMS
Definition: MuonStationIndex.h:17
Muon::MuonStationIndex::EIS
@ EIS
Definition: MuonStationIndex.h:18
Muon::MuonStationIndex::EOS
@ EOS
Definition: MuonStationIndex.h:18
Muon::MuonStationIndex::regionName
static const std::string & regionName(DetectorRegionIndex index)
convert DetectorRegionIndex into a string
Definition: MuonStationIndex.cxx:176
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
Muon::MuonStationIndex::Barrel
@ Barrel
Definition: MuonStationIndex.h:49
Muon::MuonStationIndex::layerName
static const std::string & layerName(LayerIndex index)
convert LayerIndex into a string
Definition: MuonStationIndex.cxx:192
WriteCalibToCool.swap
swap
Definition: WriteCalibToCool.py:94
Muon::MuonStationIndex::EES
@ EES
Definition: MuonStationIndex.h:18
Muon::MuonStationIndex::ChIndexMax
@ ChIndexMax
Definition: MuonStationIndex.h:19
Muon::MuonStationIndex::EML
@ EML
Definition: MuonStationIndex.h:18
Muon::MuonStationIndex::BIL
@ BIL
Definition: MuonStationIndex.h:17
Muon::MuonStationIndex::EndcapC
@ EndcapC
Definition: MuonStationIndex.h:49
Muon::MuonStationIndex::BEE
@ BEE
Definition: MuonStationIndex.h:17
Muon::MuonStationIndex::ChIndex
ChIndex
enum to classify the different chamber layers in the muon spectrometer
Definition: MuonStationIndex.h:15
Muon::MuonChamberLayerDescription::m_chamberLayerDescriptors
MuonChamberLayerDescriptorVec m_chamberLayerDescriptors
Definition: MuonChamberLayerDescription.h:29
Muon::MuonStationIndex::EMS
@ EMS
Definition: MuonStationIndex.h:18
Muon::MuonStationIndex::EOL
@ EOL
Definition: MuonStationIndex.h:18
Muon::MuonStationIndex::BOL
@ BOL
Definition: MuonStationIndex.h:17
Muon::MuonStationIndex::EIL
@ EIL
Definition: MuonStationIndex.h:18