BioXASImagingBeamline::BioXASImagingBeamline() : BioXASBeamline("BioXAS Beamline - Imaging Endstation") { setupComponents(); setupControlsAsDetectors(); setupExposedControls(); setupExposedDetectors(); }
IDEASBeamline::IDEASBeamline() : CLSBeamline("IDEAS Beamline") { setupComponents(); setupDiagnostics(); setupSampleStage(); setupDetectors(); setupControlSets(); setupMono(); setupMotorGroup(); setupControlsAsDetectors(); setupExposedControls(); setupExposedDetectors(); }
BioXASImagingBeamline::BioXASImagingBeamline() : CLSBeamline("BioXAS Beamline - Imaging Endstation") { setupSynchronizedDwellTime(); setupComponents(); setupDiagnostics(); setupSampleStage(); setupDetectors(); setupControlSets(); setupMono(); setupMotorGroup(); setupControlsAsDetectors(); setupExposedControls(); setupExposedDetectors(); }
SXRMBBeamline::SXRMBBeamline() : CLSBeamline("SXRMB Beamline") { currentEndstation_ = SXRMB::InvalidEndstation; setupSynchronizedDwellTime(); setupComponents(); setupDiagnostics(); setupSampleStage(); setupDetectors(); setupControlSets(); setupMono(); setupMotorGroup(); setupControlsAsDetectors(); setupHVControls(); setupExposedControls(); setupExposedDetectors(); setupConnections(); wasConnected_ = false; onPVConnectedHelper(); onEndstationPVConnected(endstationControl_->isConnected()); }
REIXSBeamline::REIXSBeamline() : CLSBeamline("REIXSBeamline") { // Upstream controls photonSource_ = new REIXSPhotonSource(this); addChildControl(photonSource_); valvesAndShutters_ = new REIXSValvesAndShutters(this); addChildControl(valvesAndShutters_); // Spectromter: controls and control set for positioners: spectrometer_ = new REIXSSpectrometer(this); addChildControl(spectrometer_); spectrometerPositionSet_ = new AMControlSet(this); spectrometerPositionSet_->addControl(spectrometer()->spectrometerRotationDrive()); spectrometerPositionSet_->addControl(spectrometer()->detectorTranslation()); spectrometerPositionSet_->addControl(spectrometer()->detectorTiltDrive()); spectrometerPositionSet_->addControl(spectrometer()->hexapod()->x()); spectrometerPositionSet_->addControl(spectrometer()->hexapod()->y()); spectrometerPositionSet_->addControl(spectrometer()->hexapod()->z()); spectrometerPositionSet_->addControl(spectrometer()->hexapod()->u()); spectrometerPositionSet_->addControl(spectrometer()->hexapod()->v()); spectrometerPositionSet_->addControl(spectrometer()->hexapod()->w()); spectrometerPositionSet_->addControl(spectrometer()->hexapod()->r()); spectrometerPositionSet_->addControl(spectrometer()->hexapod()->s()); spectrometerPositionSet_->addControl(spectrometer()->hexapod()->t()); spectrometerPositionSet_->addControl(spectrometer()->endstationTranslation()); //DAVID ADDED // Sample Chamber: controls and control set for positioners: sampleChamber_ = new REIXSSampleChamber(this); addChildControl(sampleChamber_); sampleManipulatorSet_ = new AMControlSet(this); sampleManipulatorSet_->addControl(sampleChamber()->beamNormalTranslation()); sampleManipulatorSet_->addControl(sampleChamber()->beamHorizontalTranslation()); sampleManipulatorSet_->addControl(sampleChamber()->beamVerticalTranslation()); sampleManipulatorSet_->addControl(sampleChamber()->beamVerticalRotation()); // MCP detector mcpDetector_ = new REIXSXESMCPDetector(this); scaler_ = new CLSSIS3820Scaler("BL1610-ID-2:mcs", this); scaler_->channelAt(3)->setCustomChannelName("PFY"); scaler_->channelAt(4)->setCustomChannelName("TFY"); scaler_->channelAt(18)->setCustomChannelName("TEY"); CLSSR570 *tempSR570 = new CLSSR570("TEY", "AMP1610-4-03", this); scaler_->channelAt(18)->setCurrentAmplifier(tempSR570); scaler_->channelAt(18)->setVoltagRange(AMRange(0.25, 4.75)); scaler_->channelAt(16)->setCustomChannelName("I0"); tempSR570 = new CLSSR570("I0", "AMP1610-4-02", this); scaler_->channelAt(16)->setCurrentAmplifier(tempSR570); scaler_->channelAt(16)->setVoltagRange(AMRange(0.25, 4.75)); i0Detector_ = new CLSBasicScalerChannelDetector("I0", "I0", scaler_, 16, this); teyDetector_ = new CLSBasicScalerChannelDetector("TEY", "TEY", scaler_, 18, this); tfyDetector_ = new CLSBasicScalerChannelDetector("TFY", "TFY", scaler_, 4, this); pfyDetector_ = new CLSBasicScalerChannelDetector("PFY", "PFY", scaler_, 3, this); i0Current_ = new AMReadOnlyPVControl("I0Current","BL1610-ID-2:mcs16:fbk", this, "I0 Current"); teyCurrent_ = new AMReadOnlyPVControl("TEYCurrent","BL1610-ID-2:mcs18:fbk", this, "TEY Current"); /* Build a control set of all the controls we want to make available to REIXSControlMoveAction, as well as record in the scan's scanInitialConditions() allControlsSet_ = new AMControlSet(this); allControlsSet_->addControl(photonSource()->energy()); allControlsSet_->addControl(photonSource()->monoGratingSelector()); allControlsSet_->addControl(photonSource()->monoMirrorSelector()); allControlsSet_->addControl(photonSource()->monoSlit()); allControlsSet_->addControl(spectrometer()); allControlsSet_->addControl(spectrometer()->spectrometerRotationDrive()); allControlsSet_->addControl(spectrometer()->detectorTranslation()); allControlsSet_->addControl(spectrometer()->detectorTiltDrive()); allControlsSet_->addControl(spectrometer()->hexapod()->x()); allControlsSet_->addControl(spectrometer()->hexapod()->y()); allControlsSet_->addControl(spectrometer()->hexapod()->z()); allControlsSet_->addControl(spectrometer()->hexapod()->u()); allControlsSet_->addControl(spectrometer()->hexapod()->v()); allControlsSet_->addControl(spectrometer()->hexapod()->w()); allControlsSet_->addControl(spectrometer()->hexapod()->r()); allControlsSet_->addControl(spectrometer()->hexapod()->s()); allControlsSet_->addControl(spectrometer()->hexapod()->t()); allControlsSet_->addControl(sampleChamber()->x()); allControlsSet_->addControl(sampleChamber()->y()); allControlsSet_->addControl(sampleChamber()->z()); allControlsSet_->addControl(sampleChamber()->r()); allControlsSet_->addControl(spectrometer()->endstationTranslation()); //DAVID 001 ADDED allControlsSet_->addControl(photonSource()->M5Pitch()); //DAVID ADDED 003 allControlsSet_->addControl(photonSource()->M5Yaw()); //DAVID ADDED 003 allControlsSet_->addControl(spectrometer()->gratingMask()); //DAVID ADDED 005 */ tmSet_ = new AMControlSet(this); tmSet_->addControl(spectrometer()->tmSOE()); tmSet_->addControl(spectrometer()->tmMCPPreamp()); meterSet_ = new AMControlSet(this); meterSet_->addControl(i0Current_); meterSet_->addControl(teyCurrent_); setupExposedControls(); setupExposedDetectors(); samplePlate_ = new AMSamplePlatePre2013(this); }