Merge branch 'apidhanya' of github.com:slsdetectorgroup/slsDetectorPackage into apidhanya

This commit is contained in:
2019-08-08 18:08:41 +02:00
3 changed files with 176 additions and 13 deletions

View File

@ -735,6 +735,85 @@ class Detector {
void setStoragecellStart(int cell, Positions pos = {});
Result<int> getStorageCellStart(Positions pos = {}) const;
/** [Jungfrau] 1 there was an temperature event */
void setTemperatureEvent(int val, Positions pos = {});
/** [Jungfrau] */
Result<int> getTemperatureEvent(Positions pos = {}) const;
/** [Jungfrau] */
void setTemperatureControl(bool enable, Positions pos = {});
/** [Jungfrau] */
Result<bool> getTemperatureControl(Positions pos = {}) const;
/**
* [Jungfrau]Set threshold temperature
* @param val value in millidegrees TODO! Verify
*/
void setThresholdTemperature(int temp, Positions pos = {});
Result<int> getThresholdTemperature(Positions pos = {}) const;
/** [Eiger] */
void pulseChip(int n, Positions pos = {});
/**
* [Eiger] Pulse Pixel and move by a relative value
* @param n is number of times to pulse
* @param x is relative x value
* @param y is relative y value
*/
void pulsePixelNMove(int n, int x, int y, Positions pos = {});
/**
* [Eiger] Pulse Pixel
* @param n is number of times to pulse
* @param x is x coordinate
* @param y is y coordinate
* @param detPos -1 for all detectors in list or specific detector position
*/
void pulsePixel(int n, int x, int y, Positions pos = {});
/**[Eiger] Returns energies in eV where the module is trimmed */
Result<std::vector<int>> getTrimEn(Positions pos = {}) const;
/** [Eiger] Set the energies where the detector is trimmed */
void setTrimEn(std::vector<int> energies, Positions pos = {});
/**
* [Eiger] not 4 bit mode
* Fills in gap pixels in data
*/
void setGapPixelsEnable(bool enable, Positions pos = {});
Result<bool> getGapPixelEnable(Positions pos = {}) const;
/**[Eiger] */
void setAllTrimbits(int value, Positions pos = {});
/** [Eiger] TODO! only Eiger? */
void setFlippedData(defs::dimension d, bool flipped, Positions pos = {});
Result<bool> getFlippedData(defs::dimension d, Positions pos = {}) const;
/**
* [Eiger] Set deactivated Receiver padding mode
* @param padding padding option for deactivated receiver. Can be true
* (padding), false (no padding)
*/
void setRxPadDeactivatedMod(bool pad, Positions pos = {});
Result<bool> getRxPadDeactivatedMod(Positions pos = {}) const;
/**
* [Eiger] Activates/Deactivates the detector
* @param true = active or false inactive
*/
void setActive(bool active, Positions pos = {});
Result<bool> getActive(Positions pos = {}) const;
};
} // namespace sls

View File

@ -1564,7 +1564,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
* @returns 1 for flipped, else 0
*/
int getFlippedData(dimension d = X, int detPos = -1);
int getFlippedData(dimension d = X, int detPos = -1); //
/**
* Sets the enable which determines if
@ -1574,7 +1574,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
* @returns enable flipped data across x or y axis
*/
int setFlippedData(dimension d = X, int value = -1, int detPos = -1);
int setFlippedData(dimension d = X, int value = -1, int detPos = -1); //
/**
* Sets all the trimbits to a particular value (Eiger)
@ -1582,7 +1582,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
* @returns OK or FAIL
*/
int setAllTrimbits(int val, int detPos = -1);
int setAllTrimbits(int val, int detPos = -1); //
/**
* Enable gap pixels, only for Eiger and for 8,16 and 32 bit mode. (Eiger)
@ -1590,7 +1590,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param val 1 sets, 0 unsets, -1 gets
* @returns gap pixel enable or -1 for error
*/
int enableGapPixels(int val = -1, int detPos = -1);
int enableGapPixels(int val = -1, int detPos = -1); //
/**
* Sets the number of trim energies and their value (Eiger)
@ -1600,7 +1600,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
* @returns number of trim energies
*/
int setTrimEn(std::vector<int> energies, int detPos = -1);
int setTrimEn(std::vector<int> energies, int detPos = -1); //
/**
* Returns the number of trim energies and their value (Eiger)
@ -1608,7 +1608,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
* @returns vector of trim energies
*/
std::vector<int> getTrimEn(int detPos = -1);
std::vector<int> getTrimEn(int detPos = -1); //
/**
* Pulse Pixel (Eiger)
@ -1617,7 +1617,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param y is y coordinate
* @param detPos -1 for all detectors in list or specific detector position
*/
void pulsePixel(int n = 0, int x = 0, int y = 0, int detPos = -1);
void pulsePixel(int n = 0, int x = 0, int y = 0, int detPos = -1); //
/**
* Pulse Pixel and move by a relative value (Eiger)
@ -1626,14 +1626,14 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param y is relative y value
* @param detPos -1 for all detectors in list or specific detector position
*/
void pulsePixelNMove(int n = 0, int x = 0, int y = 0, int detPos = -1);
void pulsePixelNMove(int n = 0, int x = 0, int y = 0, int detPos = -1);//
/**
* Pulse Chip (Eiger)
* @param n is number of times to pulse
* @param detPos -1 for all detectors in list or specific detector position
*/
void pulseChip(int n = 0, int detPos = -1);
void pulseChip(int n = 0, int detPos = -1);//
/**
* Set/gets threshold temperature (Jungfrau)
@ -1641,7 +1641,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
* @returns threshold temperature in millidegrees
*/
int setThresholdTemperature(int val = -1, int detPos = -1);
int setThresholdTemperature(int val = -1, int detPos = -1); //
/**
* Enables/disables temperature control (Jungfrau)
@ -1649,7 +1649,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
* @returns temperature control enable
*/
int setTemperatureControl(int val = -1, int detPos = -1);
int setTemperatureControl(int val = -1, int detPos = -1); //
/**
* Resets/ gets over-temperature event (Jungfrau)
@ -1657,7 +1657,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
* @returns over-temperature event
*/
int setTemperatureEvent(int val = -1, int detPos = -1);
int setTemperatureEvent(int val = -1, int detPos = -1); //
/**
* Set storage cell that stores first acquisition of the series (Jungfrau)
@ -1665,7 +1665,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
* @returns the storage cell that stores the first acquisition of the series
*/
int setStoragecellStart(int pos = -1, int detPos = -1);
int setStoragecellStart(int pos = -1, int detPos = -1);//
/**
* Programs FPGA with pof file (Not Eiger)

View File

@ -607,4 +607,88 @@ Result<int> Detector::getStorageCellStart(Positions pos) const {
return pimpl->Parallel(&slsDetector::setStoragecellStart, pos, -1);
}
void Detector::setTemperatureEvent(int val, Positions pos) {
pimpl->Parallel(&slsDetector::setTemperatureEvent, pos, val);
}
Result<int> Detector::getTemperatureEvent(Positions pos) const {
return pimpl->Parallel(&slsDetector::setTemperatureEvent, pos, -1);
}
void Detector::setTemperatureControl(bool enable, Positions pos) {
pimpl->Parallel(&slsDetector::setTemperatureControl, pos,
static_cast<int>(enable));
}
Result<bool> Detector::getTemperatureControl(Positions pos) const {
return pimpl->Parallel(&slsDetector::setTemperatureControl, pos, -1);
}
void Detector::setThresholdTemperature(int temp, Positions pos) {
pimpl->Parallel(&slsDetector::setThresholdTemperature, pos, temp);
}
Result<int> Detector::getThresholdTemperature(Positions pos) const {
return pimpl->Parallel(&slsDetector::setThresholdTemperature, pos, -1);
}
void Detector::pulseChip(int n, Positions pos) {
pimpl->Parallel(&slsDetector::pulseChip, pos, n);
}
void Detector::pulsePixelNMove(int n, int x, int y, Positions pos) {
pimpl->Parallel(&slsDetector::pulsePixelNMove, pos, n, x, y);
}
void Detector::pulsePixel(int n, int x, int y, Positions pos) {
pimpl->Parallel(&slsDetector::pulsePixel, pos, n, x, y);
}
Result<std::vector<int>> Detector::getTrimEn(Positions pos) const {
return pimpl->Parallel(&slsDetector::getTrimEn, pos);
}
void Detector::setTrimEn(std::vector<int> energies, Positions pos) {
pimpl->Parallel(&slsDetector::setTrimEn, pos, energies);
}
void Detector::setGapPixelsEnable(bool enable, Positions pos) {
pimpl->Parallel(&slsDetector::enableGapPixels, pos,
static_cast<int>(enable));
}
Result<bool> Detector::getGapPixelEnable(Positions pos) const {
return pimpl->Parallel(&slsDetector::enableGapPixels, pos, -1);
}
void Detector::setAllTrimbits(int value, Positions pos) {
pimpl->Parallel(&slsDetector::setAllTrimbits, pos, value);
}
void Detector::setFlippedData(defs::dimension d, bool flipped, Positions pos) {
pimpl->Parallel(&slsDetector::setFlippedData, pos, d,
static_cast<int>(flipped));
}
Result<bool> Detector::getFlippedData(defs::dimension d, Positions pos) const {
return pimpl->Parallel(&slsDetector::getFlippedData, pos, d);
}
void Detector::setRxPadDeactivatedMod(bool pad, Positions pos) {
pimpl->Parallel(&slsDetector::setDeactivatedRxrPaddingMode, pos,
static_cast<int>(pad));
}
Result<bool> Detector::getRxPadDeactivatedMod(Positions pos) const {
return pimpl->Parallel(&slsDetector::setDeactivatedRxrPaddingMode, pos, -1);
}
void Detector::setActive(bool active, Positions pos){
pimpl->Parallel(&slsDetector::activate, pos, static_cast<int>(active));
}
Result<bool> Detector::getActive(Positions pos) const{
pimpl->Parallel(&slsDetector::activate, pos, -1);
}
} // namespace sls