ATLAS Offline Software
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 
6 
11 #include "MuonGeoModel/MYSQL.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