ATLAS Offline Software
MuonSpectrometer
MuonDetDescr
MuonGeoModel
src
StandardComponent.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
MuonGeoModel/StandardComponent.h
"
6
7
#include "
MuonGeoModel/CHV_Technology.h
"
8
#include "
MuonGeoModel/CMI_Technology.h
"
9
#include "
MuonGeoModel/CRO_Technology.h
"
10
#include "
MuonGeoModel/LBI_Technology.h
"
11
#include "
MuonGeoModel/MYSQL.h
"
12
#include "
MuonGeoModel/Technology.h
"
13
14
#include <ostream>
15
#include <string>
16
17
namespace
MuonGM
{
18
19
std::ostream &
operator<<
(std::ostream &
os
,
const
StandardComponent
&
c
) {
20
os
<<
"Component "
<<
c
.name << std::endl;
21
os
<<
c
.posx <<
" "
<<
c
.posy <<
" "
<<
c
.posz <<
" "
<<
c
.index <<
" "
<<
c
.name;
22
os
<<
" "
<<
c
.iswap <<
" "
<<
c
.dx1 <<
" "
<<
c
.dx2 <<
" "
<<
c
.dy <<
" "
;
23
os
<<
c
.excent <<
" "
<<
c
.deadx <<
" "
<<
c
.deady << std::endl;
24
return
os
;
25
}
26
27
double
StandardComponent::GetThickness
(
const
MYSQL
& mysql)
const
{
28
const
Technology
*tec = mysql.
GetTechnology
(
name
);
29
30
if
(
name
.compare(0, 3,
"CHV"
) == 0) {
31
const
CHV
*chv =
dynamic_cast<
const
CHV
*
>
(tec);
32
return
chv->
height
;
33
}
else
if
(
name
.compare(0, 3,
"CRO"
) == 0) {
34
const
CRO
*chv =
dynamic_cast<
const
CRO
*
>
(tec);
35
return
chv->
height
;
36
}
else
if
(
name
.compare(0, 3,
"CMI"
) == 0) {
37
const
CMI
*chv =
dynamic_cast<
const
CMI
*
>
(tec);
38
return
chv->
height
;
39
}
else
if
(
name
.compare(0, 3,
"LBI"
) == 0 ||
name
.compare(0, 2,
"LB"
) == 0) {
40
const
LBI
*chv =
dynamic_cast<
const
LBI
*
>
(tec);
41
return
chv->
height
;
42
}
43
return
mysql.
GetTechnology
(
name
)->
thickness
;
44
}
45
46
}
// namespace MuonGM
MuonGM::MYSQL::GetTechnology
Technology * GetTechnology(const std::string &name)
Definition:
MYSQL.cxx:105
MuonGM::Component::GetThickness
double GetThickness() const
Definition:
Component.cxx:9
MuonGM::operator<<
std::ostream & operator<<(std::ostream &os, const AlignPos &p)
Definition:
AlignPos.cxx:8
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition:
GeoMuonHits.h:27
CHV_Technology.h
MuonGM::MYSQL
Definition:
MYSQL.h:43
MuonGM::Technology
Definition:
Technology.h:15
MuonGM::CRO
Definition:
CRO_Technology.h:13
MuonGM::LBI
Definition:
LBI_Technology.h:13
MuonGM::StandardComponent
Definition:
StandardComponent.h:15
MuonGM::CHV
Definition:
CHV_Technology.h:13
StandardComponent.h
CRO_Technology.h
MuonGM::Component::name
std::string name
Definition:
Component.h:18
ReadFromCoolCompare.os
os
Definition:
ReadFromCoolCompare.py:231
MuonGM::CHV::height
double height
Definition:
CHV_Technology.h:17
LBI_Technology.h
MYSQL.h
MuonGM::Technology::thickness
double thickness
Definition:
Technology.h:20
MuonGM::LBI::height
double height
Definition:
LBI_Technology.h:16
MuonGM::CMI
Definition:
CMI_Technology.h:13
MuonGM::CRO::height
double height
Definition:
CRO_Technology.h:17
python.compressB64.c
def c
Definition:
compressB64.py:93
Technology.h
CMI_Technology.h
MuonGM::CMI::height
double height
Definition:
CMI_Technology.h:17
Generated on Sun Dec 22 2024 21:18:28 for ATLAS Offline Software by
1.8.18