mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-21 19:30:03 +02:00
WIP
This commit is contained in:
parent
a6e8be2d67
commit
bdfdd5dbda
@ -115,14 +115,6 @@ class Detector {
|
||||
Result<bool> getFileOverWrite(Positions pos = {}) const;
|
||||
void setFileOverWrite(bool value, Positions pos = {});
|
||||
|
||||
// Time
|
||||
Result<ns> getExptime(Positions pos = {}) const;
|
||||
void setExptime(ns t, Positions pos = {});
|
||||
Result<ns> getSubExptime(Positions pos = {}) const;
|
||||
void setSubExptime(ns t, Positions pos = {});
|
||||
Result<ns> getPeriod(Positions pos = {}) const;
|
||||
void setPeriod(ns t, Positions pos = {});
|
||||
|
||||
// dhanya
|
||||
/**
|
||||
* Get multidetector Id
|
||||
@ -560,6 +552,33 @@ class Detector {
|
||||
*/
|
||||
void setNumberOfDigitalSamples(int64_t value, Positions pos = {});
|
||||
|
||||
/**
|
||||
* Get exposure time in ns
|
||||
* @param pos detector position
|
||||
* @returns exposure time in ns
|
||||
*/
|
||||
Result<ns> getExptime(Positions pos = {}) const;
|
||||
|
||||
/**
|
||||
* Set exposure time in ns
|
||||
* @param value exposure time in ns
|
||||
* @param pos detector position
|
||||
*/
|
||||
void setExptime(ns t, Positions pos = {});
|
||||
|
||||
/**
|
||||
* Get period in ns
|
||||
* @param pos detector position
|
||||
* @returns period in ns
|
||||
*/
|
||||
Result<ns> getPeriod(Positions pos = {}) const;
|
||||
|
||||
/**
|
||||
* Set period in ns
|
||||
* @param value period in ns
|
||||
* @param pos detector position
|
||||
*/
|
||||
void setPeriod(ns t, Positions pos = {});
|
||||
/**
|
||||
* Get delay after trigger in ns(Gotthard, Jungfrau)
|
||||
* @param pos detector position
|
||||
@ -574,19 +593,32 @@ class Detector {
|
||||
*/
|
||||
void setDelayAfterTrigger(ns value, Positions pos = {});
|
||||
|
||||
/**
|
||||
* Get sub frame exposure time in ns (Eiger in 32 bit mode)
|
||||
* @param pos detector position
|
||||
* @returns sub frame exposure time in ns
|
||||
*/
|
||||
Result<ns> getSubExptime(Positions pos = {}) const;
|
||||
|
||||
/**
|
||||
* Set sub frame exposure time after trigger (Eiger in 32 bit mode)
|
||||
* @param value sub frame exposure time in ns
|
||||
* @param pos detector position
|
||||
*/
|
||||
void setSubExptime(ns t, Positions pos = {});
|
||||
/**
|
||||
* Get sub frame dead time in ns (Eiger in 32 bit mode)
|
||||
* @param pos detector position
|
||||
* @returns delay after trigger in ns
|
||||
* @returns sub frame dead time in ns
|
||||
*/
|
||||
Result<ns> getSubFrameDeadTime(Positions pos = {}) const;
|
||||
Result<ns> getSubDeadTime(Positions pos = {}) const;
|
||||
|
||||
/**
|
||||
* Set sub frame dead time after trigger (Eiger in 32 bit mode)
|
||||
* @param value delay after trigger in ns
|
||||
* @param value sub frame dead time in ns
|
||||
* @param pos detector position
|
||||
*/
|
||||
void setSubFrameDeadTime(ns value, Positions pos = {});
|
||||
void setSubDeadTime(ns value, Positions pos = {});
|
||||
|
||||
/**
|
||||
* Get storage cell delay (Jungfrau)
|
||||
@ -604,6 +636,76 @@ class Detector {
|
||||
*/
|
||||
void setStorageCellDelay(ns value, Positions pos = {});
|
||||
|
||||
/**
|
||||
* Get number of Frames left (Gotthard, Jungfrau, CTB)
|
||||
* @param pos detector position
|
||||
* @returns number of Frames left
|
||||
*/
|
||||
Result<int64_t> getNumberOfFramesLeft(Positions pos = {}) const;
|
||||
|
||||
/**
|
||||
* Get number of Cycles left (Gotthard, Jungfrau, CTB)
|
||||
* @param pos detector position
|
||||
* @returns number of Cycles left
|
||||
*/
|
||||
Result<int64_t> getNumberOfCyclesLeft(Positions pos = {}) const;
|
||||
/**
|
||||
* Get exposure time left in ns (Gotthard)
|
||||
* @param pos detector position
|
||||
* @returns exposure time left in ns
|
||||
*/
|
||||
Result<ns> getExptimeLeft(Positions pos = {}) const;
|
||||
|
||||
/**
|
||||
* Get period left in ns (Gotthard, Jungfrau, CTB)
|
||||
* @param pos detector position
|
||||
* @returns period left in ns
|
||||
*/
|
||||
Result<ns> getPeriodLeft(Positions pos = {}) const;
|
||||
|
||||
/**
|
||||
* Get delay after trigger left in ns(Gotthard, Jungfrau, CTB)
|
||||
* @param pos detector position
|
||||
* @returns delay after trigger left in ns
|
||||
*/
|
||||
Result<ns> getDelayAfterTriggerLeft(Positions pos = {}) const;
|
||||
|
||||
/**
|
||||
* Get number of frames from start up of detector (Jungfrau, CTB)
|
||||
* @param pos detector position
|
||||
* @returns number of frames from start up of detector
|
||||
*/
|
||||
Result<int64_t> getNumberOfFramesFromStart(Positions pos = {}) const;
|
||||
|
||||
/**
|
||||
* Get time from detector start in ns (Jungfrau, CTB)
|
||||
* @param pos detector position
|
||||
* @returns time from detector start in ns
|
||||
*/
|
||||
Result<ns> getActualTime(Positions pos = {}) const;
|
||||
|
||||
/**
|
||||
* Get timestamp at a frame start in ns(Jungfrau, CTB)
|
||||
* @param pos detector position
|
||||
* @returns timestamp at a frame start in ns
|
||||
*/
|
||||
Result<ns> getMeasurementTime(Positions pos = {}) const;
|
||||
|
||||
/**
|
||||
* Get measured period between previous two frames in ns (Eiger)
|
||||
* @param pos detector position
|
||||
* @returns measured period between previous two frames in ns
|
||||
*/
|
||||
Result<ns> getMeasuredPeriod(Positions pos = {}) const;
|
||||
|
||||
/**
|
||||
* Get measured sub frame period between previous two frames in ns (Eiger in
|
||||
* 32 bit mode)
|
||||
* @param pos detector position
|
||||
* @returns measured sub frame period between previous two frames in ns
|
||||
*/
|
||||
Result<ns> getMeasuredSubFramePeriod(Positions pos = {}) const;
|
||||
|
||||
// Erik
|
||||
|
||||
Result<int> getFramesCaughtByReceiver(Positions pos = {}) const;
|
||||
|
@ -818,7 +818,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
|
||||
* @param detPos -1 for all detectors in list or specific detector position
|
||||
* @returns sub frame dead time in ns, or s if specified
|
||||
*/
|
||||
double getMeasuredPeriod(bool inseconds = false, int detPos = -1);
|
||||
double getMeasuredPeriod(bool inseconds = false, int detPos = -1);//
|
||||
|
||||
/**
|
||||
* Get sub period between previous two sub frames in 32 bit mode (EIGER)
|
||||
@ -827,7 +827,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
|
||||
* @param detPos -1 for all detectors in list or specific detector position
|
||||
* @returns sub frame dead time in ns, or s if specified
|
||||
*/
|
||||
double getMeasuredSubFramePeriod(bool inseconds = false, int detPos = -1);
|
||||
double getMeasuredSubFramePeriod(bool inseconds = false, int detPos = -1);//
|
||||
|
||||
/**
|
||||
* Set/get timer value left in acquisition (not all implemented for all
|
||||
@ -838,7 +838,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
|
||||
* @returns timer set value in ns or number of...(e.g. frames,
|
||||
* probes)
|
||||
*/
|
||||
int64_t getTimeLeft(timerIndex index, int detPos = -1);
|
||||
int64_t getTimeLeft(timerIndex index, int detPos = -1);//
|
||||
|
||||
/**
|
||||
* Set speed
|
||||
|
@ -51,11 +51,6 @@ Result<uint32_t> Detector::getRegister(uint32_t addr, Positions pos) {
|
||||
return pimpl->Parallel(&slsDetector::readRegister, pos, addr);
|
||||
}
|
||||
|
||||
Result<ns> Detector::getExptime(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::setTimer, pos, defs::ACQUISITION_TIME,
|
||||
-1);
|
||||
}
|
||||
|
||||
Result<uint64_t> Detector::getStartingFrameNumber(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::getStartingFrameNumber, pos);
|
||||
}
|
||||
@ -63,29 +58,6 @@ void Detector::setStartingFrameNumber(uint64_t value, Positions pos) {
|
||||
pimpl->Parallel(&slsDetector::setStartingFrameNumber, pos, value);
|
||||
}
|
||||
|
||||
void Detector::setExptime(ns t, Positions pos) {
|
||||
pimpl->Parallel(&slsDetector::setTimer, pos, defs::ACQUISITION_TIME,
|
||||
t.count());
|
||||
}
|
||||
|
||||
Result<ns> Detector::getSubExptime(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::setTimer, pos,
|
||||
defs::SUBFRAME_ACQUISITION_TIME, -1);
|
||||
}
|
||||
|
||||
void Detector::setSubExptime(ns t, Positions pos) {
|
||||
pimpl->Parallel(&slsDetector::setTimer, pos,
|
||||
defs::SUBFRAME_ACQUISITION_TIME, t.count());
|
||||
}
|
||||
|
||||
Result<ns> Detector::getPeriod(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::setTimer, pos, defs::FRAME_PERIOD, -1);
|
||||
}
|
||||
|
||||
void Detector::setPeriod(ns t, Positions pos) {
|
||||
pimpl->Parallel(&slsDetector::setTimer, pos, defs::FRAME_PERIOD, t.count());
|
||||
}
|
||||
|
||||
// File
|
||||
void Detector::setFileName(const std::string &fname, Positions pos) {
|
||||
pimpl->Parallel(&slsDetector::setFileName, pos, fname);
|
||||
@ -366,15 +338,18 @@ void Detector::setNumberOfCycles(int64_t value) {
|
||||
}
|
||||
|
||||
Result<int64_t> Detector::getNumberOfStorageCells() const {
|
||||
return pimpl->Parallel(&slsDetector::setTimer, {}, defs::STORAGE_CELL_NUMBER, -1);
|
||||
return pimpl->Parallel(&slsDetector::setTimer, {},
|
||||
defs::STORAGE_CELL_NUMBER, -1);
|
||||
}
|
||||
|
||||
void Detector::setNumberOfStorageCells(int64_t value) {
|
||||
pimpl->Parallel(&slsDetector::setTimer, {}, defs::STORAGE_CELL_NUMBER, value);
|
||||
pimpl->Parallel(&slsDetector::setTimer, {}, defs::STORAGE_CELL_NUMBER,
|
||||
value);
|
||||
}
|
||||
|
||||
Result<int64_t> Detector::getNumberOfAnalogSamples(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::setTimer, pos, defs::ANALOG_SAMPLES, -1);
|
||||
return pimpl->Parallel(&slsDetector::setTimer, pos, defs::ANALOG_SAMPLES,
|
||||
-1);
|
||||
}
|
||||
|
||||
void Detector::setNumberOfAnalogSamples(int64_t value, Positions pos) {
|
||||
@ -382,13 +357,32 @@ void Detector::setNumberOfAnalogSamples(int64_t value, Positions pos) {
|
||||
}
|
||||
|
||||
Result<int64_t> Detector::getNumberOfDigitalSamples(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::setTimer, pos, defs::DIGITAL_SAMPLES, -1);
|
||||
return pimpl->Parallel(&slsDetector::setTimer, pos, defs::DIGITAL_SAMPLES,
|
||||
-1);
|
||||
}
|
||||
|
||||
void Detector::setNumberOfDigitalSamples(int64_t value, Positions pos) {
|
||||
pimpl->Parallel(&slsDetector::setTimer, pos, defs::DIGITAL_SAMPLES, value);
|
||||
}
|
||||
|
||||
Result<ns> Detector::getExptime(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::setTimer, pos, defs::ACQUISITION_TIME,
|
||||
-1);
|
||||
}
|
||||
|
||||
void Detector::setExptime(ns t, Positions pos) {
|
||||
pimpl->Parallel(&slsDetector::setTimer, pos, defs::ACQUISITION_TIME,
|
||||
t.count());
|
||||
}
|
||||
|
||||
Result<ns> Detector::getPeriod(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::setTimer, pos, defs::FRAME_PERIOD, -1);
|
||||
}
|
||||
|
||||
void Detector::setPeriod(ns t, Positions pos) {
|
||||
pimpl->Parallel(&slsDetector::setTimer, pos, defs::FRAME_PERIOD, t.count());
|
||||
}
|
||||
|
||||
Result<ns> Detector::getDelayAfterTrigger(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::setTimer, pos,
|
||||
defs::DELAY_AFTER_TRIGGER, -1);
|
||||
@ -399,12 +393,22 @@ void Detector::setDelayAfterTrigger(ns value, Positions pos) {
|
||||
value.count());
|
||||
}
|
||||
|
||||
Result<ns> Detector::getSubFrameDeadTime(Positions pos) const {
|
||||
Result<ns> Detector::getSubExptime(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::setTimer, pos,
|
||||
defs::SUBFRAME_ACQUISITION_TIME, -1);
|
||||
}
|
||||
|
||||
void Detector::setSubExptime(ns t, Positions pos) {
|
||||
pimpl->Parallel(&slsDetector::setTimer, pos,
|
||||
defs::SUBFRAME_ACQUISITION_TIME, t.count());
|
||||
}
|
||||
|
||||
Result<ns> Detector::getSubDeadTime(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::setTimer, pos, defs::SUBFRAME_DEADTIME,
|
||||
-1);
|
||||
}
|
||||
|
||||
void Detector::setSubFrameDeadTime(ns value, Positions pos) {
|
||||
void Detector::setSubDeadTime(ns value, Positions pos) {
|
||||
pimpl->Parallel(&slsDetector::setTimer, pos, defs::SUBFRAME_DEADTIME,
|
||||
value.count());
|
||||
}
|
||||
@ -419,6 +423,46 @@ void Detector::setStorageCellDelay(ns value, Positions pos) {
|
||||
value.count());
|
||||
}
|
||||
|
||||
Result<int64_t> Detector::getNumberOfFramesLeft(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::getTimeLeft, pos, defs::FRAME_NUMBER);
|
||||
}
|
||||
|
||||
Result<int64_t> Detector::getNumberOfCyclesLeft(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::getTimeLeft, pos, defs::CYCLES_NUMBER);
|
||||
}
|
||||
|
||||
Result<ns> Detector::getExptimeLeft(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::getTimeLeft, pos, defs::ACQUISITION_TIME);
|
||||
}
|
||||
|
||||
Result<ns> Detector::getPeriodLeft(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::getTimeLeft, pos, defs::FRAME_PERIOD);
|
||||
}
|
||||
|
||||
Result<ns> Detector::getDelayAfterTriggerLeft(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::getTimeLeft, pos, defs::DELAY_AFTER_TRIGGER);
|
||||
}
|
||||
|
||||
Result<int64_t> Detector::getNumberOfFramesFromStart(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::getTimeLeft, pos, defs::FRAMES_FROM_START);
|
||||
}
|
||||
|
||||
Result<ns> Detector::getActualTime(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::getTimeLeft, pos, defs::ACTUAL_TIME);
|
||||
}
|
||||
|
||||
Result<ns> Detector::getMeasurementTime(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::getTimeLeft, pos, defs::MEASUREMENT_TIME);
|
||||
}
|
||||
|
||||
Result<ns> Detector::getMeasuredPeriod(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::getTimeLeft, pos, defs::MEASURED_PERIOD);
|
||||
};
|
||||
|
||||
Result<ns> Detector::getMeasuredSubFramePeriod(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::getTimeLeft, pos, defs::MEASURED_SUBPERIOD);
|
||||
};
|
||||
|
||||
// Erik
|
||||
Result<int> Detector::getFramesCaughtByReceiver(Positions pos) const {
|
||||
return pimpl->Parallel(&slsDetector::getFramesCaughtByReceiver, pos);
|
||||
|
Loading…
x
Reference in New Issue
Block a user