19 edm::LogError(
"BadSetup") <<
"@SUB=TwoBowedSurfacesDeformation"
20 <<
"Input vector of wrong size " << pars.size()
21 <<
" instead of " <<
parameterSize() <<
", add zeros to fill up!";
44 double length,
double width)
const
57 const double sign = (localPos.
y() < ySplit ? +1. : -1.);
58 const double yMiddle = ySplit * 0.5 - sign * length * .25;
60 const double myY = localPos.
y() - yMiddle;
61 const double myLength = length * 0.5 + sign * ySplit;
63 double uRel = 2. * localPos.
x() /
width;
64 double vRel = 2. * myY / myLength;
66 const double cutOff = 1.5;
67 if (uRel < -cutOff) { uRel = -cutOff; }
else if (uRel > cutOff) { uRel = cutOff; }
68 if (vRel < -cutOff) { vRel = -cutOff; }
else if (vRel > cutOff) { vRel = cutOff; }
78 = (uRel * uRel - 1./3.) * (pars[0] + sign * pars[9])
79 + uRel * vRel * (pars[1] + sign * pars[10])
80 + (vRel * vRel - 1./3.) * (pars[2] + sign * pars[11])
82 + myY * sign * pars[6]
83 - localPos.
x() * sign * pars[7];
89 x += (sign * pars[3]);
90 y += (sign * pars[4]);
92 x -= myY * (sign * pars[8]);
93 y += localPos.
x() * (sign * pars[8]);
102 const std::vector<double> otherParameters(other.
parameters());
111 LogDebug(
"Alignment") <<
"@SUB=TwoBowedSurfacesDeformation::add"
113 <<
", to add " << otherParameters[
k_ySplit()];