#include <SpacerBeam.h>
Definition at line 16 of file SpacerBeam.h.
◆ SpacerBeam()
Definition at line 28 of file SpacerBeam.cxx.
30 StandardComponent *
s = (StandardComponent *)
ss;
31 std::string_view componentType = std::string_view(
s->name).substr(0, 3);
41 if (componentType ==
"CRO" || componentType ==
"CMI" || componentType ==
"CHV") {
42 CbmComponent *ccbm = (CbmComponent *)
s;
51 if (componentType ==
"CHV") {
52 const CHV *
ch =
dynamic_cast<const CHV*
>(mysql.GetTechnology(
s->name));
57 }
else if (componentType ==
"CRO") {
58 const CRO *cr =
dynamic_cast<const CRO*
>(mysql.GetTechnology(
s->name));
63 }
else if (componentType ==
"CMI") {
64 const CMI *cn =
dynamic_cast<const CMI*
>(mysql.GetTechnology(
s->name));
69 }
else if (componentType.substr(0, 2) ==
"LB") {
70 const LBI *
lb =
dynamic_cast<const LBI*
>(mysql.GetTechnology(
s->name));
◆ build() [1/2]
◆ build() [2/2]
GeoVPhysVol * MuonGM::SpacerBeam::build |
( |
StoredMaterialManager & |
matManager, |
|
|
int |
cutoutson, |
|
|
bool |
is_barrel |
|
) |
| |
Definition at line 85 of file SpacerBeam.cxx.
87 GeoPhysVol *pvol =
nullptr;
88 GeoLogVol *lvol =
nullptr;
90 if (
name.compare(0, 3,
"CHV") == 0 ||
name.compare(0, 3,
"CRO") == 0 ||
name.compare(0, 3,
"CMI") == 0) {
94 if ((
name.compare(0, 3,
"CHV") == 0 ||
name.compare(0, 3,
"CRO") == 0) && !is_barrel) {
96 sinexc = std::abs(
excent) / ltemp;
104 const GeoShape *IBeamShape =
new GeoBox(
height / 2, volumelargeness / 2,
length / 2);
106 double yshift = volumelargeness / 4. +
thickness / 2.;
107 IBeamShape = &(IBeamShape->subtract((*sideBox) << GeoTrf::TranslateY3D(yshift)));
108 IBeamShape = &(IBeamShape->subtract((*sideBox) << GeoTrf::TranslateY3D(-yshift)));
112 IBeamShape = &(IBeamShape->subtract((*holeBox) << GeoTrf::TranslateZ3D(
m_hole_pos1 / cosexc)));
113 IBeamShape = &(IBeamShape->subtract((*holeBox) << GeoTrf::TranslateZ3D(
m_hole_pos2 / cosexc)));
114 lvol =
new GeoLogVol(
name, IBeamShape,
mat);
115 pvol =
new GeoPhysVol(lvol);
120 volumelargeness =
width;
121 const GeoBox *Cbox =
new GeoBox(
height / 2, volumelargeness / 2,
length / 2);
122 lvol =
new GeoLogVol(
name, Cbox,
mat);
123 pvol =
new GeoPhysVol(lvol);
127 }
else if (
name.compare(0, 2,
"LB") == 0) {
131 LBbox = &(LBbox->subtract((*innerBox)));
132 lvol =
new GeoLogVol(
name, LBbox,
mat);
133 pvol =
new GeoPhysVol(lvol);
◆ print()
void MuonGM::SpacerBeam::print |
( |
| ) |
const |
|
overridevirtual |
◆ setLogVolName()
void MuonGM::DetectorElement::setLogVolName |
( |
const std::string & |
str | ) |
|
|
inlineinherited |
◆ excent
double MuonGM::SpacerBeam::excent {0.} |
◆ height
double MuonGM::SpacerBeam::height {0.} |
◆ largeness
double MuonGM::SpacerBeam::largeness {0.} |
◆ length
double MuonGM::SpacerBeam::length {0.} |
◆ logVolName
std::string MuonGM::DetectorElement::logVolName {} |
|
inherited |
◆ longWidth
double MuonGM::SpacerBeam::longWidth {0.} |
◆ lowerThickness
double MuonGM::SpacerBeam::lowerThickness {0.} |
◆ m_component
◆ m_cross_excent
double MuonGM::SpacerBeam::m_cross_excent {0.} |
|
private |
◆ m_cy
double MuonGM::SpacerBeam::m_cy {0.} |
|
private |
◆ m_hole_pos1
double MuonGM::SpacerBeam::m_hole_pos1 {0.} |
|
private |
◆ m_hole_pos2
double MuonGM::SpacerBeam::m_hole_pos2 {0.} |
|
private |
◆ m_lb_height
double MuonGM::SpacerBeam::m_lb_height {0.} |
|
private |
◆ m_lb_width
double MuonGM::SpacerBeam::m_lb_width {0.} |
|
private |
◆ name
std::string MuonGM::DetectorElement::name {} |
|
inherited |
◆ thickness
double MuonGM::SpacerBeam::thickness {0.} |
◆ width
double MuonGM::SpacerBeam::width {0.} |
The documentation for this class was generated from the following files: