82 const GeoBox * spineShape2 =
nullptr;
87 double position, position2;
95 double widthMain = parameters->fwdSpineWidth(
m_ringType);
98 const GeoShape * subSpineMiddle =
nullptr;
101 double mountPosition = parameters->fwdModuleMountPoint(
m_ringType);
102 position = mountPosition - parameters->fwdSubSpineInnerRefDist(
m_ringType) - 0.5*
m_length1;
103 position = position * HybPos;
104 position2 = (widthMain +
m_width1) / 2.;
105 const GeoShape & spinePos1 = (*spineShape1 << GeoTrf::TranslateY3D(
m_spineSide * position2) << GeoTrf::TranslateZ3D(position) );
111 position = mountPosition - parameters->fwdSubSpineMiddleRefDist(
m_ringType) - 0.5*
m_length2;
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;
119 position = mountPosition - parameters->fwdSubSpineOuterRefDist(
m_ringType) - 0.5*
m_length3;
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);
SCT_FwdSubSpine(const std::string &name, int ringType, int spineSide, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials)