8 #include "GeoModelKernel/GeoTube.h"
9 #include "GeoModelKernel/GeoTubs.h"
10 #include "GeoModelKernel/GeoCons.h"
11 #include "GeoModelKernel/GeoPcon.h"
12 #include "GeoModelKernel/GeoTransform.h"
13 #include "GeoModelKernel/GeoPhysVol.h"
14 #include "GeoModelKernel/GeoFullPhysVol.h"
15 #include "GeoModelKernel/GeoDefinitions.h"
16 #include "GaudiKernel/SystemOfUnits.h"
38 const GeoShape* shape =
nullptr;
86 placeVolTwoSide(parentPos, parentNeg,
nullptr,
nullptr, child, zParent);
92 placeVolTwoSide(
nullptr,
nullptr, fullparentPos, fullparentNeg, child, zParent);
100 GeoTransform* xform =
nullptr;
102 if (zOffset != 0 || iRepeat > 0) {
103 xform =
new GeoTransform(GeoTrf::TranslateZ3D(zOffset) * GeoTrf::RotateZ3D(phi));
107 if (xform)
parent->add(xform);
110 if (xform) fullparent->add(xform);
111 fullparent->add(child);
116 GeoTransform* xformNeg =
new GeoTransform(GeoTrf::RotateY3D(180 *
Gaudi::Units::deg) * GeoTrf::TranslateZ3D(
117 zOffset) * GeoTrf::RotateZ3D(phi));
122 fullparent->add(xformNeg);
123 fullparent->add(child);
131 GeoFullPhysVol* fullparentPos, GeoFullPhysVol* fullparentNeg,
132 GeoVPhysVol* child,
double zParent) {
136 const bool newXform((zOffset != 0)or(iRepeat > 0));
140 parentPos->add(
new GeoTransform(GeoTrf::TranslateZ3D(zOffset) * GeoTrf::RotateZ3D(phi)));
142 parentPos->add(child);
143 }
else if (fullparentPos) {
145 fullparentPos->add(
new GeoTransform(GeoTrf::TranslateZ3D(zOffset) * GeoTrf::RotateZ3D(phi)));
147 fullparentPos->add(child);
152 GeoTransform* xformNeg =
new GeoTransform(GeoTrf::RotateY3D(180 *
Gaudi::Units::deg) * GeoTrf::TranslateZ3D(
153 zOffset) * GeoTrf::RotateZ3D(phi));
155 parentNeg->add(xformNeg);
156 parentNeg->add(child);
158 fullparentNeg->add(xformNeg);
159 fullparentNeg->add(child);