changed speed to readoutspeed, added g2 speeds (108, 144)

This commit is contained in:
2021-10-07 18:39:18 +02:00
parent e2aa426966
commit 6b0e6a72df
18 changed files with 299 additions and 173 deletions

View File

@ -412,20 +412,31 @@ std::vector<defs::timingMode> Detector::getTimingModeList() const {
}
}
Result<defs::speedLevel> Detector::getSpeed(Positions pos) const {
auto res = pimpl->Parallel(&Module::getClockDivider, pos, defs::RUN_CLOCK);
Result<defs::speedLevel> speedResult(res.size());
for (unsigned int i = 0; i < res.size(); ++i) {
speedResult[i] = static_cast<defs::speedLevel>(res[i]);
}
return speedResult;
Result<defs::speedLevel> Detector::getReadoutSpeed(Positions pos) const {
return pimpl->Parallel(&Module::getReadoutSpeed, pos);
}
void Detector::setSpeed(defs::speedLevel value, Positions pos) {
pimpl->Parallel(&Module::setClockDivider, pos, defs::RUN_CLOCK,
static_cast<int>(value));
void Detector::setReadoutSpeed(defs::speedLevel value, Positions pos) {
pimpl->Parallel(&Module::getReadoutSpeed, pos, value);
}
std::vector<defs::speedLevel> Detector::getReadoutSpeedList() const {
switch (getDetectorType().squash()) {
case defs::EIGER:
case defs::JUNGFRAU:
return std::vector<defs::speedLevel>{defs::FULL_SPEED,
defs::HALF_SPEED,
defs::QUARTER_SPEED};
case defs::GOTTHARD2:
return std::vector<defs::speedLevel>{defs::G_108MHZ,
defs::G_144MHZ};
default:
throw RuntimeError("Readout speed not implemented for this detector");
}
}
Result<int> Detector::getADCPhase(Positions pos) const {
return pimpl->Parallel(&Module::getClockPhase, pos, defs::ADC_CLOCK, false);
}