QString AMScanAxisRegion::toString(const QString &units) const { return QString("Start:\t%1 %4\tStep: %2 %4End:\t%3 %4\tTime: %5 s\n") .arg(double(regionStart())) .arg(double(regionStep())) .arg(double(regionEnd())) .arg(units) .arg(double(regionTime())); }
QString VESPERSEXAFSScanConfiguration::headerText() const { QString header("Configuration of the Scan\n\n"); header.append("Scanned Edge:\t" + edge() + "\n"); header.append(fluorescenceHeaderString(fluorescenceDetector())); header.append(incomingChoiceHeaderString(incomingChoice())); header.append(transmissionChoiceHeaderString(transmissionChoice())); header.append(QString("Automatically moved to a specific location (used when setting up the workflow)?\t%1").arg(goToPosition() ? "Yes\n" : "No\n\n")); if (goToPosition()){ header.append(QString("Horizontal Position:\t%1 mm\n").arg(x())); header.append(QString("Vertical Position:\t%1 mm\n\n").arg(y())); } header.append(regionOfInterestHeaderString(roiList())); header.append("\n"); header.append("Regions Scanned\n"); for (int i = 0; i < regionCount(); i++){ if (exafsRegions()->type(i) == AMEXAFSRegion::kSpace && useFixedTime()) header.append(QString("Start: %1 eV\tDelta: %2 k\tEnd: %3 k\tTime: %4 s\n") .arg(exafsRegions()->startByType(i, AMEXAFSRegion::Energy)) .arg(exafsRegions()->delta(i)) .arg(exafsRegions()->endByType(i, AMEXAFSRegion::kSpace)) .arg(regions_->time(i))); else if (exafsRegions()->type(i) == AMEXAFSRegion::kSpace && !useFixedTime()) header.append(QString("Start: %1 eV\tDelta: %2 k\tEnd: %3 k\tMaximum time (used with variable integration time): %4 s\n") .arg(exafsRegions()->startByType(i, AMEXAFSRegion::Energy)) .arg(exafsRegions()->delta(i)) .arg(exafsRegions()->endByType(i, AMEXAFSRegion::kSpace)) .arg(exafsRegions()->time(i))); else header.append(QString("Start: %1 eV\tDelta: %2 eV\tEnd: %3 eV\tTime: %4 s\n") .arg(regionStart(i)) .arg(regionDelta(i)) .arg(regionEnd(i)) .arg(regionTime(i))); } return header; }
int AMScanAxisRegion::numberOfPoints() const { return int((double(regionEnd()) - double(regionStart()))/double(regionStep()) + 1); }
QString SGMXASScanConfiguration::detailedDescription() const{ double exitSlit; double grating; double harmonic; for(int x = 0; x < fluxResolutionGroup_.count(); x++){ if(fluxResolutionGroup_.at(x).name() == SGMBeamline::sgm()->exitSlitGap()->name()) exitSlit = fluxResolutionGroup_.at(x).value(); if(fluxResolutionGroup_.at(x).name() == SGMBeamline::sgm()->grating()->name()) grating = fluxResolutionGroup_.at(x).value(); if(fluxResolutionGroup_.at(x).name() == SGMBeamline::sgm()->harmonic()->name()) harmonic = fluxResolutionGroup_.at(x).value(); } return QString("XAS Scan from %1 to %2\nExit Slit: %3\nGrating: %4\nHarmonic: %5").arg(regionStart(0)).arg(regionEnd(regionCount()-1)).arg(exitSlit, 0, 'f', 1).arg(SGMBeamlineInfo::sgmInfo()->sgmGratingDescription(SGMBeamlineInfo::sgmGrating(grating))).arg(SGMBeamlineInfo::sgmInfo()->sgmHarmonicDescription(SGMBeamlineInfo::sgmHarmonic(harmonic))); }