File indexing completed on 2023-10-25 09:31:49
0001 #include "Alignment/CommonAlignment/interface/SurveyDet.h"
0002
0003 SurveyDet::SurveyDet(const AlignableSurface& surface, const align::ErrorMatrix& errors)
0004 : theSurface(surface), theErrors(errors) {
0005 const align::Scalar W3 = surface.width() / 3.;
0006 const align::Scalar L3 = surface.length() / 3.;
0007
0008 thePoints.reserve(4);
0009
0010
0011 thePoints.push_back(align::LocalPoint(W3, 0., 0.));
0012
0013 thePoints.push_back(align::LocalPoint(0., L3, 0.));
0014
0015 thePoints.push_back(align::LocalPoint(-W3, 0., 0.));
0016
0017 thePoints.push_back(align::LocalPoint(0., -L3, 0.));
0018
0019 }
0020
0021 AlgebraicMatrix SurveyDet::derivatives(unsigned int index) const {
0022 AlgebraicMatrix jac(6, 3, 0);
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040 jac(1, 1) = 1.;
0041 jac(2, 2) = 1.;
0042 jac(3, 3) = 1.;
0043
0044 jac(5, 3) -= jac(6, 2) = thePoints[index].x();
0045 jac(6, 1) -= jac(4, 3) = thePoints[index].y();
0046
0047 return jac;
0048 }