mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-12 21:07:13 +02:00
merge resolved
This commit is contained in:
@ -922,6 +922,33 @@ class Detector {
|
||||
void setActive(bool active, Positions pos = {});
|
||||
|
||||
Result<bool> getActive(Positions pos = {}) const;
|
||||
|
||||
/** [Gotthard][Jungfrau][CTB] not possible to read back*/
|
||||
void writeAdcRegister(uint32_t addr, uint32_t value, Positions pos = {});
|
||||
|
||||
/** [CTB] How much digital data in bytes is skipped */
|
||||
Result<int> getReceiverDbitOffset(Positions pos = {}) const;
|
||||
|
||||
/** [CTB] Set how many bytes of digital data to skip */
|
||||
void setReceiverDbitOffset(int value, Positions pos = {});
|
||||
|
||||
/** [CTB] Which of the bits 0-63 to save*/
|
||||
Result<std::vector<int>> getReceiverDbitList(Positions pos = {}) const;
|
||||
|
||||
/** [CTB] Which of the bits 0-63 to save*/
|
||||
void setReceiverDbitList(std::vector<int> list, Positions pos = {});
|
||||
|
||||
/** [CTB] */
|
||||
Result<int> getExternalSampling(Positions pos = {}) const;
|
||||
|
||||
/** [CTB] */
|
||||
void setExternalSampling(bool value, Positions pos = {});
|
||||
|
||||
/** [CTB] */
|
||||
Result<int> getExternalSamplingSource(Positions pos = {}) const;
|
||||
|
||||
/** [CTB] Value between 0-63 */
|
||||
void setExternalSamplingSource(int value, Positions pos = {});
|
||||
};
|
||||
|
||||
} // namespace sls
|
@ -105,11 +105,19 @@ template <class T, class Allocator = std::allocator<T>> class Result {
|
||||
*/
|
||||
T squash() const { return Squash(vec); }
|
||||
|
||||
T tsquash(const std::string &error_msg) {
|
||||
if (equal())
|
||||
return vec.front();
|
||||
else
|
||||
throw RuntimeError(error_msg);
|
||||
}
|
||||
/**
|
||||
* If all elements are equal return the front value, otherwise
|
||||
* return the supplied default value
|
||||
*/
|
||||
T squash(T default_value) const { return Squash(vec, default_value); }
|
||||
T squash(const T &default_value) const {
|
||||
return Squash(vec, default_value);
|
||||
}
|
||||
|
||||
/** Test whether all elements of the result are equal */
|
||||
bool equal() const noexcept { return allEqual(vec); }
|
||||
|
@ -1476,49 +1476,51 @@ class multiSlsDetector : public virtual slsDetectorDefs {
|
||||
* @param detPos -1 for all detectors in list or specific detector position
|
||||
* @returns external sampling source
|
||||
*/
|
||||
int getExternalSamplingSource(int detPos = -1);
|
||||
int getExternalSamplingSource(int detPos = -1); //
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Set external sampling enable (CTB only)
|
||||
* @param value external sampling source (Option: 0-63)
|
||||
* @param detPos -1 for all detectors in list or specific detector position
|
||||
*/
|
||||
void setExternalSampling(bool value, int detPos = -1);
|
||||
void setExternalSampling(bool value, int detPos = -1); //
|
||||
|
||||
/**
|
||||
* Get external sampling source (CTB only)
|
||||
* @param detPos -1 for all detectors in list or specific detector position
|
||||
* @returns external sampling enable
|
||||
*/
|
||||
int getExternalSampling(int detPos = -1);
|
||||
int getExternalSampling(int detPos = -1); //
|
||||
|
||||
/**
|
||||
* Set external sampling enable (CTB only)
|
||||
* @param list external sampling source (Option: 0-63)
|
||||
* @param detPos -1 for all detectors in list or specific detector position
|
||||
*/
|
||||
void setReceiverDbitList(std::vector<int> list, int detPos = -1);
|
||||
void setReceiverDbitList(std::vector<int> list, int detPos = -1); //
|
||||
|
||||
/**
|
||||
* Get external sampling source (CTB only)
|
||||
* @param detPos -1 for all detectors in list or specific detector position
|
||||
* @returns external sampling enable
|
||||
*/
|
||||
std::vector<int> getReceiverDbitList(int detPos = -1);
|
||||
std::vector<int> getReceiverDbitList(int detPos = -1); //
|
||||
|
||||
/**
|
||||
* Set digital data offset in bytes (CTB only)
|
||||
* @param value digital data offset in bytes
|
||||
* @param detPos -1 for all detectors in list or specific detector position
|
||||
*/
|
||||
void setReceiverDbitOffset(int value, int detPos = -1);
|
||||
void setReceiverDbitOffset(int value, int detPos = -1); //
|
||||
|
||||
/**
|
||||
* Get digital data offset in bytes (CTB only)
|
||||
* @param detPos -1 for all detectors in list or specific detector position
|
||||
* @returns digital data offset in bytes
|
||||
*/
|
||||
int getReceiverDbitOffset(int detPos = -1);
|
||||
int getReceiverDbitOffset(int detPos = -1); //
|
||||
|
||||
/**
|
||||
* Write to ADC register (Gotthard, Jungfrau, ChipTestBoard). For expert
|
||||
@ -1527,7 +1529,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
|
||||
* @param val value
|
||||
* @param detPos -1 for all detectors in list or specific detector position
|
||||
*/
|
||||
void writeAdcRegister(uint32_t addr, uint32_t val, int detPos = -1);
|
||||
void writeAdcRegister(uint32_t addr, uint32_t val, int detPos = -1); //
|
||||
|
||||
/**
|
||||
* Activates/Deactivates the detector (Eiger only)
|
||||
@ -1535,7 +1537,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
|
||||
* @param detPos -1 for all detectors in list or specific detector position
|
||||
* @returns 0 (inactive) or 1 (active)for activate mode
|
||||
*/
|
||||
int activate(int const enable = -1, int detPos = -1);
|
||||
int activate(int const enable = -1, int detPos = -1); //
|
||||
|
||||
/**
|
||||
* Set deactivated Receiver padding mode (Eiger only)
|
||||
@ -1581,6 +1583,8 @@ class multiSlsDetector : public virtual slsDetectorDefs {
|
||||
*/
|
||||
int enableGapPixels(int val = -1, int detPos = -1); //
|
||||
|
||||
|
||||
void setGapPixelsEnable(bool enable, sls::Positions pos = {});
|
||||
/**
|
||||
* Sets the number of trim energies and their value (Eiger)
|
||||
*
|
||||
|
Reference in New Issue
Block a user