ATLAS Offline Software
Loading...
Searching...
No Matches
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
17namespace 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
std::string name
Definition Component.h:18
double GetThickness() const
Definition Component.cxx:9
Technology * GetTechnology(const std::string &name)
Definition MYSQL.cxx:105
Ensure that the Athena extensions are properly loaded.
Definition GeoMuonHits.h:27
std::ostream & operator<<(std::ostream &os, const AlignPos &p)
Definition AlignPos.cxx:8