ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonDetDescr
MuonGeoModel
MuonGeoModel
MultiLayer.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 MultiLayer_H
6
#define MultiLayer_H
7
8
#include "
MuonGeoModel/DetectorElement.h
"
9
10
#include <string>
11
#include <utility>
12
#include <vector>
13
14
class
GeoFullPhysVol;
15
16
namespace
MuonGM
{
17
class
MYSQL
;
18
19
class
MultiLayer
:
public
DetectorElement
{
20
public
:
21
int
nrOfLayers
{0};
22
int
nrOfTubes
{0};
// tubes in a layer
23
double
tubePitch
{0.};
// tube pitch in a layer
24
double
width
{0.};
25
double
length
{0.};
26
double
thickness
{0.};
27
double
mdtthickness
{0.};
28
double
longWidth
{0.};
// for trapezoidal layers
29
int
nrOfSteps
{0};
// for trapezoidal layers,
30
// nr of steps in the staircase
31
MultiLayer
(
const
MYSQL
& mysql,
const
std::string& n);
32
GeoFullPhysVol *
build
(
StoredMaterialManager
& matManager,
33
const
MYSQL
& mysql);
34
std::array<double, 4>
yy
{};
35
std::array<double, 4>
xx
{};
36
virtual
void
print
()
const override
;
37
38
int
cutoutNsteps
{0};
// how many sub-multilayers there are along y-amdb
39
std::array<int, 5>
cutoutNtubes
{};
// how many tubes in the sub-multilayer [i]
40
std::array<double, 5>
cutoutXtubes
{};
// where is the centre of the tubes in sub-ml[i] along x-amdb
41
std::array<double, 5>
cutoutYmax
{};
// max Y(amdb) of this sub-multilayer
42
std::array<double, 5>
cutoutTubeLength
{};
// tube length
43
std::array<bool, 5>
cutoutFullLength
{};
// true if this region is outside the cutout
44
bool
cutoutAtAngle
{
false
};
// true if this station has cutouts at an angle; //EMS1,3 and BOS6
45
46
// the same but for several cutouts along the amdb x (GeoModel y)
47
// gives the (x1,x2) and (y1,y2) tuples of rectangles which are NOT cutout
48
std::vector<std::pair<double, double>>
m_nonCutoutXSteps
{};
49
std::vector<std::pair<double, double>>
m_nonCutoutYSteps
{};
50
};
51
}
// namespace MuonGM
52
53
#endif
DetectorElement.h
MuonGM::DetectorElement::DetectorElement
DetectorElement(const std::string &n)
Definition
DetectorElement.h:20
MuonGM::MYSQL
Definition
MYSQL.h:43
MuonGM::MultiLayer::cutoutTubeLength
std::array< double, 5 > cutoutTubeLength
Definition
MultiLayer.h:42
MuonGM::MultiLayer::cutoutYmax
std::array< double, 5 > cutoutYmax
Definition
MultiLayer.h:41
MuonGM::MultiLayer::nrOfSteps
int nrOfSteps
Definition
MultiLayer.h:29
MuonGM::MultiLayer::nrOfLayers
int nrOfLayers
Definition
MultiLayer.h:21
MuonGM::MultiLayer::cutoutNsteps
int cutoutNsteps
Definition
MultiLayer.h:38
MuonGM::MultiLayer::m_nonCutoutYSteps
std::vector< std::pair< double, double > > m_nonCutoutYSteps
Definition
MultiLayer.h:49
MuonGM::MultiLayer::xx
std::array< double, 4 > xx
Definition
MultiLayer.h:35
MuonGM::MultiLayer::yy
std::array< double, 4 > yy
Definition
MultiLayer.h:34
MuonGM::MultiLayer::cutoutNtubes
std::array< int, 5 > cutoutNtubes
Definition
MultiLayer.h:39
MuonGM::MultiLayer::MultiLayer
MultiLayer(const MYSQL &mysql, const std::string &n)
Definition
MultiLayer.cxx:57
MuonGM::MultiLayer::print
virtual void print() const override
Definition
MultiLayer.cxx:713
MuonGM::MultiLayer::cutoutFullLength
std::array< bool, 5 > cutoutFullLength
Definition
MultiLayer.h:43
MuonGM::MultiLayer::nrOfTubes
int nrOfTubes
Definition
MultiLayer.h:22
MuonGM::MultiLayer::tubePitch
double tubePitch
Definition
MultiLayer.h:23
MuonGM::MultiLayer::longWidth
double longWidth
Definition
MultiLayer.h:28
MuonGM::MultiLayer::width
double width
Definition
MultiLayer.h:24
MuonGM::MultiLayer::cutoutXtubes
std::array< double, 5 > cutoutXtubes
Definition
MultiLayer.h:40
MuonGM::MultiLayer::cutoutAtAngle
bool cutoutAtAngle
Definition
MultiLayer.h:44
MuonGM::MultiLayer::build
GeoFullPhysVol * build(StoredMaterialManager &matManager, const MYSQL &mysql)
Definition
MultiLayer.cxx:78
MuonGM::MultiLayer::length
double length
Definition
MultiLayer.h:25
MuonGM::MultiLayer::m_nonCutoutXSteps
std::vector< std::pair< double, double > > m_nonCutoutXSteps
Definition
MultiLayer.h:48
MuonGM::MultiLayer::thickness
double thickness
Definition
MultiLayer.h:26
MuonGM::MultiLayer::mdtthickness
double mdtthickness
Definition
MultiLayer.h:27
StoredMaterialManager
This class holds one or more material managers and makes them storeable, under StoreGate.
Definition
StoredMaterialManager.h:30
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition
GeoMuonHits.h:27
Generated on
for ATLAS Offline Software by
1.17.0