93 for (
size_t d = 0;
d <
inD;
d++) {
98 for (
size_t dd = 0; dd <
inD; dd++) {
113 for (
size_t d = 0;
d <
inD;
d++) {
116 distanceSquared += (dist * dist);
121 outVector[0] = distanceSquared;
127 for (
size_t d = 0;
d <
inD;
d++) {
128 lenQdata += inputVector[
d] * inputVector[
d];
132 lenQdata = std::sqrt(lenQdata);
133 lenQpeak = std::sqrt(lenQpeak);
134 if (lenQpeak * lenQdata != 0.0)
135 cosAng /= (lenQpeak * lenQdata);
136 coord_t angle = std::acos(cosAng);
137 outVector[0] = lenQdata * std::sin(angle);
138 outVector[1] = lenQdata * cosAng - lenQpeak;
150 AutoPtr<Document> pDoc =
new Document;
151 AutoPtr<Element> coordTransformElement = pDoc->createElement(
"CoordTransform");
152 pDoc->appendChild(coordTransformElement);
154 AutoPtr<Element> coordTransformTypeElement = pDoc->createElement(
"Type");
155 coordTransformTypeElement->appendChild(AutoPtr<Text>(pDoc->createTextNode(
"CoordTransformDistance")));
156 coordTransformElement->appendChild(coordTransformTypeElement);
158 AutoPtr<Element> paramListElement = pDoc->createElement(
"ParameterList");
160 AutoPtr<Text> formatText = pDoc->createTextNode(
"%s%s%s%s");
161 paramListElement->appendChild(formatText);
162 coordTransformElement->appendChild(paramListElement);
164 std::stringstream xmlstream;
167 writer.writeNode(xmlstream, pDoc);
170 Mantid::API::InDimParameter inD_param(
inD);
171 Mantid::API::OutDimParameter outD_param(
outD);
172 CoordCenterVectorParam m_center_param(
inD);
173 DimensionsUsedVectorParam m_dimensionsUsed_param(
inD);
176 for (
size_t d = 0;
d <
inD;
d++) {
181 std::string formattedXMLString = boost::str(boost::format(xmlstream.str().c_str()) % inD_param.toXMLString().c_str() %
182 outD_param.toXMLString().c_str() % m_center_param.toXMLString().c_str() %
183 m_dimensionsUsed_param.toXMLString().c_str());
185 return formattedXMLString;