91 double xHarnessPos = 0;
92 double yHarnessPos = 0;
122 double rMaxExtentOfPowerTape =
126 double rMaxExtentOfBracket =
127 sqrt(
sqr(radiusBracket + 0.5 *
m_bracket->thickness()) +
144 halfAnglePowerTape = std::max(halfAnglePowerTape, halfAngleHarness);
157 double midAngle = 0.5 * (minAngle+maxAngle);
165 const GeoLogVol *skiAuxLog =
167 GeoPhysVol * skiAux =
new GeoPhysVol(skiAuxLog);
174 for (
int iModule = 0; iModule <
m_ski->modulesPerSki(); iModule++) {
177 double coolingCenterPosZ =
m_ski->zPos(iModule) +
m_ski->coolingBlockOffsetZ();
178 GeoTrf::Translation3D posBracket(xBracketPos, yBracketPos, coolingCenterPosZ);
180 skiAux->add(
new GeoTransform(GeoTrf::Transform3D(posBracket*rotBracket)));
186 GeoTrf::Translation3D posHarness(xHarnessPos, yHarnessPos, 0);
188 skiAux->add(
new GeoTransform(GeoTrf::Transform3D(posHarness*rotHarness)));
195 GeoTrf::Translation3D posTape(xTapePos, yTapePos, 0);
198 skiAux->add(
new GeoTransform(GeoTrf::Transform3D(posTape*rotTape)));
209 double xWidth,
double yWidth,
210 double & minRatio,
double & maxRatio)
215 double x = 0.5 * xWidth;
216 double y = 0.5 * yWidth;
218 double r00,r01,r10,r11;
220 r11 = (yCenter +
y) / (xCenter +
x);
221 r00 = (yCenter -
y) / (xCenter -
x);
222 r10 = (yCenter +
y) / (xCenter -
x);
223 r01 = (yCenter -
y) / (xCenter +
x);
225 minRatio = std::min(r11 , std::min(r00, std::min(r10, r01)));
226 maxRatio = std::max(r11 , std::max(r00, std::max(r10, r01)));
void calcMinMaxRatioS(double xCenter, double yCenter, double xWidth, double yWidth, double &minRatio, double &maxRatio)
SCT_SkiAux(const std::string &name, SCT_Ski *ski, SCT_Bracket *bracket, SCT_Harness *harness, SCT_SkiPowerTape *skiPowerTape, double innerRadius, double bracketPhiOffset, double powerTapePhiOffset, double divisionAngle, InDetDD::SCT_DetectorManager *detectorManager, SCT_GeometryManager *geometryManager, SCT_MaterialManager *materials)