57 const CSC *md =
dynamic_cast<const CSC*
>(mysql.GetTechnology(
name));
64 double hon_thick = md->honeycombthick;
65 double gasThickness = 2.0 * md->anocathodist;
67 double g10thi = (2. * md->g10thick + md->honeycombthick);
84 const GeoMaterial *mhon = matManager.
getMaterial(
"muo::Honeycomb");
85 const GeoLogVol *lml =
new GeoLogVol(
"CscMultilayer", sml, mhon);
86 GeoPhysVol *pml =
new GeoPhysVol(lml);
98 const GeoLogVol *lhon =
new GeoLogVol(
"Honeycomb", shon, mhon);
99 GeoPhysVol *phon =
new GeoPhysVol(lhon);
101 const GeoMaterial *mg10 = matManager.
getMaterial(
"std::G10");
102 const GeoLogVol *lg10hon =
new GeoLogVol(
"G10", sg10hon, mg10);
103 GeoPhysVol *pg10hon =
new GeoPhysVol(lg10hon);
108 const GeoShape *sgas =
nullptr;
113 double gLength =
maxwLength - 2 * md->fullwirefixbarwidth;
114 sgas =
new GeoTrd(gasThickness / 2., gasThickness / 2., gShortWidth / 2., gLongWidth / 2., gLength / 2.);
117 double gmaxwLength =
maxwLength - md->fullwirefixbarwidth;
118 double gLength =
length - 2. * md->fullwirefixbarwidth;
119 double gupWidth =
upWidth - 2 * md->fullwirefixbarwidth * (1 -
cos(alpha)) /
sin(alpha);
121 sgas =
new GeoTrd(gasThickness / 2., gasThickness / 2., gShortWidth / 2., gLongWidth / 2., gmaxwLength / 2.);
122 const GeoShape *sgast =
new GeoTrd(gasThickness / 2., gasThickness / 2., gLongWidth / 2., gupWidth / 2., (gLength - gmaxwLength) / 2.);
123 sgas = &((sgas->add((*sgast) << GeoTrf::TranslateZ3D(gLength / 2.))) << GeoTrf::TranslateZ3D((gmaxwLength - gLength) / 2.));
125 const GeoMaterial *mgas = matManager.
getMaterial(
"muo::CscArCO2");
126 const GeoLogVol *lgas =
nullptr;
131 GeoNameTag *
np =
new GeoNameTag(
"panel");
132 GeoTransform *xp =
new GeoTransform(GeoTrf::TranslateX3D(newpos - g10thi / 2.));
133 pml->add(
new GeoIdentifierTag(
i));
140 lgas =
new GeoLogVol(
"CscArCO2", sgas, mgas);
141 GeoPhysVol *pgas =
new GeoPhysVol(lgas);
144 GeoNameTag *
ng =
new GeoNameTag(
"CscArCO2");
145 GeoTransform *xg =
new GeoTransform(GeoTrf::TranslateX3D(newpos - gasThickness / 2.));
146 pml->add(
new GeoIdentifierTag(
i));
150 newpos -= gasThickness;