ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
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
CHV_Technology.h
CMI_Technology.h
CRO_Technology.h
LBI_Technology.h
MYSQL.h
StandardComponent.h
Technology.h
MuonGM::CHV
Definition
CHV_Technology.h:13
MuonGM::CHV::height
double height
Definition
CHV_Technology.h:17
MuonGM::CMI
Definition
CMI_Technology.h:13
MuonGM::CMI::height
double height
Definition
CMI_Technology.h:17
MuonGM::CRO
Definition
CRO_Technology.h:13
MuonGM::CRO::height
double height
Definition
CRO_Technology.h:17
MuonGM::Component::name
std::string name
Definition
Component.h:18
MuonGM::Component::GetThickness
double GetThickness() const
Definition
Component.cxx:9
MuonGM::LBI
Definition
LBI_Technology.h:13
MuonGM::LBI::height
double height
Definition
LBI_Technology.h:16
MuonGM::MYSQL
Definition
MYSQL.h:43
MuonGM::MYSQL::GetTechnology
Technology * GetTechnology(const std::string &name)
Definition
MYSQL.cxx:105
MuonGM::StandardComponent::StandardComponent
StandardComponent()=default
MuonGM::Technology
Definition
Technology.h:15
MuonGM::Technology::thickness
double thickness
Definition
Technology.h:20
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition
GeoMuonHits.h:27
MuonGM::operator<<
std::ostream & operator<<(std::ostream &os, const AlignPos &p)
Definition
AlignPos.cxx:8
Generated on
for ATLAS Offline Software by
1.17.0