Modifications in preparation to MAX IV experiment
This commit is contained in:
@@ -95,18 +95,32 @@ void DetectorWrapper::Start(const DiffractionExperiment& experiment) {
|
||||
|
||||
try {
|
||||
InternalStop();
|
||||
switch (experiment.GetDetectorMode()) {
|
||||
case DetectorMode::PedestalG1:
|
||||
det.setGainMode(slsDetectorDefs::gainMode::FORCE_SWITCH_G1);
|
||||
break;
|
||||
case DetectorMode::PedestalG2:
|
||||
det.setGainMode(slsDetectorDefs::gainMode::FORCE_SWITCH_G2);
|
||||
break;
|
||||
default:
|
||||
det.setGainMode(slsDetectorDefs::gainMode::DYNAMIC);
|
||||
break;
|
||||
if (experiment.IsFixedGainG1()) {
|
||||
if ((experiment.GetDetectorMode() == DetectorMode::PedestalG0) ||
|
||||
(experiment.GetDetectorMode() == DetectorMode::PedestalG2))
|
||||
throw JFJochException(JFJochExceptionCategory::Detector,
|
||||
"Pedestal G0/G2 doesn't make sense for fixed G1 mode");
|
||||
det.setGainMode(slsDetectorDefs::FIX_G1);
|
||||
} else {
|
||||
switch (experiment.GetDetectorMode()) {
|
||||
case DetectorMode::PedestalG1:
|
||||
det.setGainMode(slsDetectorDefs::gainMode::FORCE_SWITCH_G1);
|
||||
break;
|
||||
case DetectorMode::PedestalG2:
|
||||
det.setGainMode(slsDetectorDefs::gainMode::FORCE_SWITCH_G2);
|
||||
break;
|
||||
default:
|
||||
det.setGainMode(slsDetectorDefs::gainMode::DYNAMIC);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (experiment.IsUsingGainHG0())
|
||||
det.setSettings(slsDetectorDefs::HIGHGAIN0);
|
||||
else
|
||||
det.setSettings(slsDetectorDefs::GAIN0);
|
||||
|
||||
|
||||
det.setNextFrameNumber(1);
|
||||
|
||||
if (experiment.GetNumTriggers() == 1) {
|
||||
|
||||
Reference in New Issue
Block a user