25 : isOK_(component.alignmentParameters() && mother.alignmentParameters()) {
48 edm::LogError(
"Alignment") <<
"@SUB=ParametersToParametersDerivatives::init"
84 if (rigM2rigC.Invert()) {
85 const double halfWidth = 0.5 * component.
surface().
width();
106 edm::LogError(
"Alignment") <<
"@SUB=ParametersToParametersDerivatives::init2BowedRigid"
107 <<
"dynamic_cast to TwoBowedSurfacesAlignmentParameters failed.";
113 const double ySplit = aliPar->
ySplit();
114 const double halfWidth = 0.5 * component.
surface().
width();
115 const double halfLength = 0.5 * component.
surface().
length();
116 const double halfLength1 = 0.5 * (halfLength + ySplit);
117 const double halfLength2 = 0.5 * (halfLength - ySplit);
118 const double yM1 = 0.5 * (ySplit - halfLength);
119 const double yM2 = yM1 + halfLength;
134 if (!f2fSurf1.Invert() || !f2fSurf2.Invert())
141 typedef ROOT::Math::SMatrix<double, 6, 18, ROOT::Math::MatRepStd<double, 6, 18>> AlgebraicMatrix6_18;
142 AlgebraicMatrix6_18 derivs;
143 derivs.Place_at(derivs1, 0, 0);
144 derivs.Place_at(derivs2, 0, 9);
157 const double gammaScale = BowedDerivs::gammaScale(2. * halfWidth, 2. * halfLength);
164 if (0. == gammaScale || 0. == halfWidth || 0. == halfLength) {
166 edm::LogError(
"Alignment") <<
"@SUB=ParametersToParametersDerivatives::dRigid_dBowed"
167 <<
"Some zero length as input.";
171 for (
unsigned int iRow = 0; iRow < AlgebraicMatrix69::kRows; ++iRow) {
175 for (
unsigned int iCol = 0; iCol < 3; ++iCol) {
176 derivs(iRow, iCol) = dRigidM2dRigidC(iRow, iCol);
183 derivs(iRow, 3) = -dRigidM2dRigidC(iRow, 4) / halfWidth;
187 derivs(iRow, 4) = dRigidM2dRigidC(iRow, 3) / halfLength;
191 derivs(iRow, 5) = dRigidM2dRigidC(iRow, 5) / gammaScale;
195 for (
unsigned int iCol = 6; iCol < AlgebraicMatrix69::kCols; ++iCol) {
196 derivs(iRow, iCol) = 0.;