WIP, new eiger serveR

This commit is contained in:
2019-08-09 11:11:29 +02:00
parent 0bd6563e45
commit 5a483eaf29
13 changed files with 230 additions and 118 deletions

View File

@ -495,7 +495,115 @@ class Detector {
* @param pos detector position
*/
void configureMAC(Positions pos = {});
/**
* Get number of Frames
* @returns number of Frames
*/
Result<int64_t> getNumberOfFrames() const;
/**
* Set number of Frames
* @param value number of Frames
*/
void setNumberOfFrames(int64_t value);
/**
* Get number of Cycles
* @returns number of Cycles
*/
Result<int64_t> getNumberOfCycles() const;
/**
* Set number of Cycles
* @param value number of Cycles
*/
void setNumberOfCycles(int64_t value);
/**
* Get number of additional storage cells (Jungfrau)
* @returns number of additional storage cells
*/
Result<int64_t> getNumberOfStorageCells() const;
/**
* Set number of additional storage cells (Jungfrau)
* @param value number of additional storage cells
*/
void setNumberOfStorageCells(int64_t value);
/**
* Get number of analog samples (CTB)
* @param pos detector position
* @returns number of analog samples
*/
Result<int64_t> getNumberOfAnalogSamples(Positions pos = {}) const;
/**
* Set number of analog samples (CTB)
* @param value number of analog samples (CTB)
* @param pos detector position
*/
void setNumberOfAnalogSamples(int64_t value, Positions pos = {});
/**
* Get number of digital samples (CTB)
* @param pos detector position
* @returns number of digital samples
*/
Result<int64_t> getNumberOfDigitalSamples(Positions pos = {}) const;
/**
* Set number of digital samples (CTB)
* @param value number of digital samples (CTB)
* @param pos detector position
*/
void setNumberOfDigitalSamples(int64_t value, Positions pos = {});
/**
* Get delay after trigger in ns(Gotthard, Jungfrau)
* @param pos detector position
* @returns delay after trigger in ns
*/
Result<ns> getDelayAfterTrigger(Positions pos = {}) const;
/**
* Set delay after trigger (Gotthard, Jungfrau)
* @param value delay after trigger in ns
* @param pos detector position
*/
void setDelayAfterTrigger(ns value, Positions pos = {});
/**
* Get sub frame dead time in ns (Eiger in 32 bit mode)
* @param pos detector position
* @returns delay after trigger in ns
*/
Result<ns> getSubFrameDeadTime(Positions pos = {}) const;
/**
* Set sub frame dead time after trigger (Eiger in 32 bit mode)
* @param value delay after trigger in ns
* @param pos detector position
*/
void setSubFrameDeadTime(ns value, Positions pos = {});
/**
* Get storage cell delay (Jungfrau)
* @param pos detector position
* @returns storage cell delay in ns. Range: (0-1638375 ns (resolution of
* 25ns)
*/
Result<ns> getStorageCellDelay(Positions pos = {}) const;
/**
* Set storage cell delay (Jungfrau)
* @param value storage cell delay in ns. Range: (0-1638375 ns (resolution
* of 25ns)
* @param pos detector position
*/
void setStorageCellDelay(ns value, Positions pos = {});
// Erik
Result<int> getFramesCaughtByReceiver(Positions pos = {}) const;

View File

@ -15,7 +15,7 @@ class detectorData;
#include <thread>
#include <vector>
#define MULTI_SHMAPIVERSION 0x190807
#define MULTI_SHMAPIVERSION 0x190809
#define MULTI_SHMVERSION 0x190807
#define SHORT_STRING_LENGTH 50
#define DATE_LENGTH 30
@ -84,9 +84,6 @@ struct sharedMultiSlsDetector {
* one dimension */
int maxNumberOfChannelsPerDetector[2];
/** timer values */
int64_t timerValue[slsDetectorDefs::timerIndex::MAX_TIMERS];
/** flag for acquiring */
bool acquiringFlag;
@ -712,7 +709,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* Configures in detector the destination for UDP packets
* @param detPos -1 for all detectors in list or specific detector position
*/
void configureMAC(int detPos = -1);
void configureMAC(int detPos = -1); //
/**
* Set starting frame number for the next acquisition
@ -731,12 +728,12 @@ class multiSlsDetector : public virtual slsDetectorDefs {
/**
* Set/get timer value (not all implemented for all detectors)
* @param index timer index
* @param t time in ns or number of...(e.g. frames, gates, probes)
* @param t time in ns or number of...(e.g. frames, probes)
* @param detPos -1 for all detectors in list or specific detector position
* @returns timer set value in ns or number of...(e.g. frames, gates,
* @returns timer set value in ns or number of...(e.g. frames,
* probes)
*/
int64_t setTimer(timerIndex index, int64_t t = -1, int detPos = -1);
int64_t setTimer(timerIndex index, int64_t t = -1, int detPos = -1); //
/**
* Set/get exposure time
@ -766,7 +763,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @returns delay after trigger in ns, or s if specified
*/
double setDelayAfterTrigger(double t = -1, bool inseconds = false,
int detPos = -1);
int detPos = -1);//
/**
* (Advanced users)
@ -788,7 +785,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @returns sub frame dead time in ns, or s if specified
*/
double setSubFrameExposureDeadTime(double t = -1, bool inseconds = false,
int detPos = -1);
int detPos = -1);//
/**
* Set/get number of frames
@ -796,7 +793,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
* @returns number of frames
*/
int64_t setNumberOfFrames(int64_t t = -1, int detPos = -1);
int64_t setNumberOfFrames(int64_t t = -1, int detPos = -1);//
/**
* Set/get number of cycles
@ -804,15 +801,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
* @returns number of cycles
*/
int64_t setNumberOfCycles(int64_t t = -1, int detPos = -1);
/**
* Set/get number of gates (none of the detectors at the moment)
* @param t number of gates (-1 gets)
* @param detPos -1 for all detectors in list or specific detector position
* @returns number of gates
*/
int64_t setNumberOfGates(int64_t t = -1, int detPos = -1);
int64_t setNumberOfCycles(int64_t t = -1, int detPos = -1);//
/**
* Set/get number of additional storage cells (Jungfrau)
@ -820,7 +809,7 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position
* @returns number of additional storage cells
*/
int64_t setNumberOfStorageCells(int64_t t = -1, int detPos = -1);
int64_t setNumberOfStorageCells(int64_t t = -1, int detPos = -1);//
/**
* Get measured period between previous two frames (EIGER)
@ -844,9 +833,9 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* Set/get timer value left in acquisition (not all implemented for all
* detectors)
* @param index timer index
* @param t time in ns or number of...(e.g. frames, gates, probes)
* @param t time in ns or number of...(e.g. frames, probes)
* @param detPos -1 for all detectors in list or specific detector position
* @returns timer set value in ns or number of...(e.g. frames, gates,
* @returns timer set value in ns or number of...(e.g. frames,
* probes)
*/
int64_t getTimeLeft(timerIndex index, int detPos = -1);

View File

@ -658,8 +658,8 @@ class slsDetector : public virtual slsDetectorDefs {
/**
* Set/get timer value (not all implemented for all detectors)
* @param index timer index
* @param t time in ns or number of...(e.g. frames, gates, probes)
* @returns timer set value in ns or number of...(e.g. frames, gates,
* @param t time in ns or number of...(e.g. frames, probes)
* @returns timer set value in ns or number of...(e.g. frames,
* probes)
*/
int64_t setTimer(timerIndex index, int64_t t = -1);
@ -668,8 +668,8 @@ class slsDetector : public virtual slsDetectorDefs {
* Set/get timer value left in acquisition (not all implemented for all
* detectors)
* @param index timer index
* @param t time in ns or number of...(e.g. frames, gates, probes)
* @returns timer set value in ns or number of...(e.g. frames, gates,
* @param t time in ns or number of...(e.g. frames, probes)
* @returns timer set value in ns or number of...(e.g. frames,
* probes)
*/
int64_t getTimeLeft(timerIndex index) const;

View File

@ -358,14 +358,6 @@ public:
*/
int64_t setNumberOfCycles(int64_t t = -1, int detPos = -1);
/**
* Set/get number of gates (none of the detectors at the moment)
* @param t number of gates (-1 gets)
* @param detPos -1 for all detectors in list or specific detector position
* @returns number of gates
*/
int64_t setNumberOfGates(int64_t t = -1, int detPos = -1);
/**
* Set/get number of additional storage cells (Jungfrau)
* @param t number of additional storage cells. Default is 0. (-1 gets)
@ -396,7 +388,7 @@ public:
* Set/get timing mode
* @param pol timing mode (-1 gets)
* Options (slsDetectorDefs::externalCommunicationMode)
* (Eiger: AUTO_TIMING, TRIGGER_EXPOSURE, BURST_TRIGGER, GATE_FIX_NUMBER)
* (Eiger: AUTO_TIMING, TRIGGER_EXPOSURE, BURST_TRIGGER, GATED)
* (Jungfrau: AUTO_TIMING, TRIGGER_EXPOSURE)
* (Gotthard: AUTO_TIMING, TRIGGER_EXPOSURE)
* @param detPos -1 for all detectors in list or specific detector position