100 double sourceToSampleDistance;
102 std::vector<double> parsDouble = dataWS->getInstrument()->getNumberParameter(
"Header_source_distance");
103 if (!parsDouble.empty()) {
105 sourceToSampleDistance = parsDouble[0] * 1000;
107 const auto nGuides = dataWS->run().getPropertyValueAsType<
int>(
"Motor_Positions_nguides");
109 std::vector<std::string> parsString = dataWS->getInstrument()->getStringParameter(
"aperture-distances");
110 if (parsString.empty())
112 std::string guidesDistances = parsString[0];
114 std::vector<std::string> guidesDistancesSplit;
115 boost::split(guidesDistancesSplit, guidesDistances, boost::is_any_of(
"\t ,"), boost::token_compress_on);
116 sourceToSampleDistance = boost::lexical_cast<double>(guidesDistancesSplit[nGuides]);
118 auto sourceToSampleDistanceOffset =
119 dataWS->run().getPropertyValueAsType<
double>(
"Header_sample_aperture_to_flange");
121 sourceToSampleDistance -= sourceToSampleDistanceOffset;
123 return sourceToSampleDistance;