21 #include "GeoModelKernel/GeoBox.h"
22 #include "GeoModelKernel/GeoLogVol.h"
23 #include "GeoModelKernel/GeoPhysVol.h"
24 #include "GeoModelKernel/GeoShape.h"
25 #include "GeoModelKernel/GeoShapeShift.h"
26 #include "GeoModelKernel/GeoShapeUnion.h"
28 #include "GeoModelKernel/Units.h"
30 #include "GeoModelKernel/GeoDefinitions.h"
38 int ringType,
int spineSide,
43 m_ringType(ringType), m_spineSide(spineSide)
82 const GeoBox * spineShape2 =
nullptr;
87 double position, position2;
98 const GeoShape * subSpineMiddle =
nullptr;
103 position = position * HybPos;
104 position2 = (widthMain +
m_width1) / 2.;
105 const GeoShape & spinePos1 = (*spineShape1 << GeoTrf::TranslateY3D(
m_spineSide * position2) << GeoTrf::TranslateZ3D(position) );
112 position = position * HybPos;
113 position2 = (widthMain +
m_width2) / 2.;
114 const GeoShape & spinePos2 = (*spineShape2 << GeoTrf::TranslateY3D(
m_spineSide * position2) << GeoTrf::TranslateZ3D(position) );
115 subSpineMiddle = &spinePos2;
120 position = position * HybPos;
121 position2 = (widthMain +
m_width3) / 2.;
122 const GeoShape & spinePos3 = (*spineShape3 << GeoTrf::TranslateY3D(
m_spineSide * position2) << GeoTrf::TranslateZ3D(position) );
124 const GeoShapeUnion & spineTmp = (spinePos1).
add(spinePos3);
125 GeoLogVol * spineLog =
nullptr;
127 const GeoShapeUnion & spineTmp2 = spineTmp.add(*subSpineMiddle);
133 GeoPhysVol * spine =
new GeoPhysVol(spineLog);