SGMXASScanConfiguration::SGMXASScanConfiguration(const SGMXASScanConfiguration &original) : AMStepScanConfiguration(original) , SGMScanConfiguration() { setTrackingGroup(original.trackingGroup()); setFluxResolutionGroup(original.fluxResolutionGroup()); setDetectorConfigurations(original.detectorChoiceConfigurations()); }
SGMXASScanConfiguration::SGMXASScanConfiguration(const SGMXASScanConfiguration &original) : AMXASScanConfiguration(original) , SGMScanConfiguration() { xasRegions()->setEnergyControl(SGMBeamline::sgm()->energy()); regions_->setDefaultTimeControl(SGMBeamline::sgm()->scalerIntegrationTime()); regions_->setSensibleStart(original.regions()->sensibleStart()); regions_->setSensibleEnd(original.regions()->sensibleEnd()); regions_->setDefaultUnits(original.regions()->defaultUnits()); regions_->setDefaultTimeUnits(original.regions()->defaultTimeUnits()); for(int x = 0; x < original.regionCount(); x++) regions_->addRegion(x, original.regionStart(x), original.regionDelta(x), original.regionEnd(x), original.regionTime(x)); fluxResolutionSet_ = SGMBeamline::sgm()->fluxResolutionSet(); trackingSet_ = SGMBeamline::sgm()->trackingSet(); xasDetectors_ = SGMBeamline::sgm()->XASDetectors(); allDetectors_ = new AMOldDetectorSet(this); for(int x = 0; x < SGMBeamline::sgm()->feedbackDetectors()->count(); x++) allDetectors_->addDetector(SGMBeamline::sgm()->feedbackDetectors()->detectorAt(x), true); for(int x = 0; x < xasDetectors_->count(); x++) allDetectors_->addDetector(xasDetectors_->detectorAt(x), xasDetectors_->isDefaultAt(x)); setTrackingGroup(original.trackingGroup()); setFluxResolutionGroup(original.fluxResolutionGroup()); setDetectorConfigurations(original.detectorChoiceConfigurations()); }
SGMXASScanConfiguration2013::SGMXASScanConfiguration2013(const SGMXASScanConfiguration2013 &original) : AMStepScanConfiguration(original), SGMScanConfiguration2013(original) { detectorConfigurations_ = original.detectorConfigurations(); setTrackingGroup(original.trackingGroup()); setFluxResolutionGroup(original.fluxResolutionGroup()); connect(SGMBeamline::sgm()->exitSlitGap(), SIGNAL(valueChanged(double)), this, SLOT(checkIfMatchesBeamline())); connect(SGMBeamline::sgm()->grating(), SIGNAL(valueChanged(double)), this, SLOT(checkIfMatchesBeamline())); connect(SGMBeamline::sgm()->harmonic(), SIGNAL(valueChanged(double)), this, SLOT(checkIfMatchesBeamline())); connect(SGMBeamline::sgm()->undulatorTracking(), SIGNAL(valueChanged(double)), this, SLOT(checkIfMatchesBeamline())); connect(SGMBeamline::sgm()->monoTracking(), SIGNAL(valueChanged(double)), this, SLOT(checkIfMatchesBeamline())); connect(SGMBeamline::sgm()->exitSlitTracking(), SIGNAL(valueChanged(double)), this,SLOT(checkIfMatchesBeamline())); connect(this->dbObject(), SIGNAL(exitSlitGapChanged(double)), this, SLOT(checkIfMatchesBeamline())); connect(this->dbObject(), SIGNAL(gratingChanged(SGMBeamlineInfo::sgmGrating)), this, SLOT(checkIfMatchesBeamline())); connect(this->dbObject(), SIGNAL(harmonicChanged(SGMBeamlineInfo::sgmHarmonic)), this, SLOT(checkIfMatchesBeamline())); connect(this->dbObject(), SIGNAL(trackingGroupChanged()), this, SLOT(checkIfMatchesBeamline())); }
void SGMXASScanConfiguration2013View::setTrackingSet(AMControlSet *trackingSet){ trackingSet_ = trackingSet; if(!trackingSetView_){ trackingSetView_ = new AMControlSetView(trackingSet_, true); bottomGL_->addWidget(trackingSetView_, 0, 2); connect(trackingSetView_, SIGNAL(configValuesChanged(AMControlInfoList)), configuration_->dbObject(), SLOT(setTrackingGroup(AMControlInfoList))); connect(configuration_->dbObject(), SIGNAL(trackingGroupChanged()), this, SLOT(onTrackingGroupChanged())); } }