The slsDetectorUsers class is a minimal interface class which should be instantiated by the users in their acquisition software (EPICS, spec etc.). More advanced configuration functions are not implemented and can be written in a configuration or parameters file that can be read/written. More...
#include <slsDetectorUsers.h>
Public Member Functions | |
slsDetectorUsers (int &ret, int id=0) | |
default constructor More... | |
virtual | ~slsDetectorUsers () |
virtual destructor More... | |
std::string | getDetectorDeveloper () |
useful to define subset of working functions More... | |
int | setOnline (int const online=-1) |
sets the onlineFlag More... | |
int | setReceiverOnline (int const online=-1) |
sets the receivers onlineFlag More... | |
void | startMeasurement () |
start measurement and acquires More... | |
int | stopMeasurement () |
stop measurement More... | |
int | getDetectorStatus () |
get run status More... | |
std::string | getFilePath () |
returns the default output files path More... | |
std::string | setFilePath (std::string s) |
sets the default output files path More... | |
std::string | getFileName () |
std::string | setFileName (std::string s) |
sets the default output files path More... | |
int | getFileIndex () |
int | setFileIndex (int i) |
sets the default output file index More... | |
std::string | getFlatFieldCorrectionDir () |
get flat field corrections file directory More... | |
std::string | setFlatFieldCorrectionDir (std::string dir) |
set flat field corrections file directory More... | |
std::string | getFlatFieldCorrectionFile () |
get flat field corrections file name More... | |
int | setFlatFieldCorrectionFile (std::string fname="") |
set flat field correction file More... | |
int | enableFlatFieldCorrection (int i=-1) |
enable/disable flat field corrections (without changing file name) More... | |
int | enableCountRateCorrection (int i=-1) |
enable/disable count rate corrections More... | |
int | enablePixelMaskCorrection (int i=-1) |
enable/disable bad channel corrections More... | |
int | enableAngularConversion (int i=-1) |
enable/disable angular conversion More... | |
int | enableWriteToFile (int i=-1) |
int | setPositions (int nPos, double *pos) |
set positions for the acquisition More... | |
int | getPositions (double *pos=NULL) |
get positions for the acquisition More... | |
int | setDetectorSize (int x0=-1, int y0=-1, int nx=-1, int ny=-1) |
sets the detector size (only 1 ROI) More... | |
int | getDetectorSize (int &x0, int &y0, int &nx, int &ny) |
gets detector size (roi size if only one roi) More... | |
int | getMaximumDetectorSize (int &nx, int &ny) |
gets the maximum detector size More... | |
int | setBitDepth (int i=-1) |
set/get dynamic range More... | |
int | setSettings (int isettings=-1) |
set detector settings More... | |
int | getThresholdEnergy () |
get threshold energy More... | |
int | setThresholdEnergy (int e_eV) |
set threshold energy More... | |
int | setThresholdEnergy (int e_ev, int tb, int isettings=-1, int id=-1) |
set threshold energy with choice to load trimbits (eiger only) More... | |
double | setExposureTime (double t=-1, bool inseconds=false, int imod=-1) |
set/get exposure time value More... | |
double | setExposurePeriod (double t=-1, bool inseconds=false, int imod=-1) |
set/get exposure period More... | |
double | setDelayAfterTrigger (double t=-1, bool inseconds=false, int imod=-1) |
set/get delay after trigger More... | |
int64_t | setNumberOfGates (int64_t t=-1, int imod=-1) |
set/get number of gates More... | |
int64_t | setNumberOfFrames (int64_t t=-1, int imod=-1) |
set/get number of frames i.e. number of exposure per trigger More... | |
int64_t | setNumberOfCycles (int64_t t=-1, int imod=-1) |
set/get number of cycles i.e. number of triggers More... | |
int | setTimingMode (int pol=-1) |
set/get the external communication mode More... | |
int | readConfigurationFile (std::string const fname) |
Reads the configuration file – will contain all the informations needed for the configuration (e.g. for a PSI detector caldir, settingsdir, angconv, badchannels, hostname etc.) More... | |
int | dumpDetectorSetup (std::string const fname) |
Reads the parameters from the detector and writes them to file. More... | |
int | retrieveDetectorSetup (std::string const fname) |
Loads the detector setup from file. More... | |
std::string | getDetectorType () |
useful for data plotting etc. More... | |
int | setReceiverMode (int n=-1) |
sets the mode by which gui requests data from receiver More... | |
void | registerDataCallback (int(*userCallback)(detectorData *d, int f, int s, void *), void *pArg) |
register calbback for accessing detector final data, also enables data streaming in client and receiver (if receiver exists) More... | |
void | registerRawDataCallback (int(*userCallback)(double *p, int n, void *), void *pArg) |
register callback for accessing raw data - if the rawDataCallback is registered, no filewriting/postprocessing will be carried on automatically by the software - the raw data are deleted by the software More... | |
virtual void | initDataset (int refresh) |
function to initalize a set of measurements (reset binning if angular conversion, reset summing otherwise) - can be overcome by the user's functions thanks to the virtual property More... | |
virtual void | addFrame (double *data, double pos, double i0, double t, std::string fname, double var) |
adds frame to merging/summation - can be overcome by the user's functions thanks to the virtual property More... | |
virtual void | finalizeDataset (double *a, double *v, double *e, int &np) |
finalizes the data set returning the array of angles, values and errors to be used as final data - can be overcome by the user's functions thanks to the virtual property More... | |
int | enableDataStreamingFromReceiver (int i=-1) |
int | enableDataStreamingToClient (int i=-1) |
int | setReceiverDataStreamingOutPort (int i=-1) |
int | setClientDataStreamingInPort (int i=-1) |
std::string | setReceiverDataStreamingOutIP (std::string ip="") |
std::string | setClientDataStreamingInIP (std::string ip="") |
int64_t | getModuleFirmwareVersion (int imod=-1) |
int64_t | getModuleSerialNumber (int imod=-1) |
int64_t | getDetectorFirmwareVersion (int imod=-1) |
int64_t | getDetectorSerialNumber (int imod=-1) |
int64_t | getDetectorSoftwareVersion (int imod=-1) |
int64_t | getThisSoftwareVersion () |
int | enableGapPixels (int enable=-1) |
std::string | setReceiverFramesDiscardPolicy (std::string f="get") |
int | setReceiverPartialFramesPadding (int f=-1) |
int | setReceiverFramesPerFile (int f=-1) |
int | sendSoftwareTrigger () |
double | getMeasuredPeriod (bool inseconds=false, int imod=-1) |
double | getMeasuredSubFramePeriod (bool inseconds=false, int imod=-1) |
void | registerAcquisitionFinishedCallback (int(*func)(double, int, void *), void *pArg) |
register calbback for accessing detector final data More... | |
void | registerGetPositionCallback (double(*func)(void *), void *arg) |
register calbback for reading detector position More... | |
void | registerConnectChannelsCallback (int(*func)(void *), void *arg) |
register callback for connecting to the epics channels More... | |
void | registerDisconnectChannelsCallback (int(*func)(void *), void *arg) |
register callback to disconnect the epics channels More... | |
void | registerGoToPositionCallback (int(*func)(double, void *), void *arg) |
register callback for moving the detector More... | |
void | registerGoToPositionNoWaitCallback (int(*func)(double, void *), void *arg) |
register callback for moving the detector without waiting More... | |
void | registerGetI0Callback (double(*func)(int, void *), void *arg) |
register calbback reading to I0 More... | |
std::string | putCommand (int narg, char *args[], int pos=-1) |
sets parameters in command interface http://www.psi.ch/detectors/UsersSupportEN/slsDetectorClientHowTo.pdf More... | |
std::string | getCommand (int narg, char *args[], int pos=-1) |
gets parameters in command interface http://www.psi.ch/detectors/UsersSupportEN/slsDetectorClientHowTo.pdf More... | |
int | setClockDivider (int value) |
sets clock divider of detector More... | |
int | setParallelMode (int value) |
sets parallel mode More... | |
int | setOverflowMode (int value) |
show saturated for overflow in subframes in 32 bit mode (eiger only) More... | |
int | setAllTrimbits (int val, int id=-1) |
sets all trimbits to value (only available for eiger) More... | |
int | setDAC (std::string dac, int val, int id=-1) |
set dac value More... | |
int | getADC (std::string adc, int id=-1) |
get adc value More... | |
int | startReceiver () |
start receiver listening mode More... | |
int | stopReceiver () |
stop receiver listening mode More... | |
int | startAcquisition () |
int | stopAcquisition () |
int | setReceiverSilentMode (int i) |
int | setHighVoltage (int i) |
int | resetFramesCaughtInReceiver () |
int | setReceiverFifoDepth (int i=-1) |
int | setFlowControl10G (int i=-1) |
int | setTenGigabitEthernet (int i=-1) |
int | getNMods () |
double | setSubFrameExposureTime (double t=-1, bool inseconds=false, int imod=-1) |
double | setSubFrameExposureDeadTime (double t=-1, bool inseconds=false, int imod=-1) |
int64_t | setNumberOfStorageCells (int64_t t=-1, int imod=-1) |
int | setStoragecellStart (int pos=-1) |
int | setROI (int n=-1, slsDetectorDefs::ROI roiLimits[]=NULL, int imod=-1) |
slsDetectorDefs::ROI * | getROI (int &n, int imod=-1) |
Static Public Member Functions | |
static std::string | runStatusType (int s) |
returns std::string from run status index More... | |
static int | getDetectorSettings (std::string s) |
returns detector settings std::string from index More... | |
static std::string | getDetectorSettings (int s) |
returns detector settings std::string from index More... | |
static std::string | getTimingMode (int f) |
returns external communication mode std::string from index More... | |
static int | getTimingMode (std::string s) |
returns external communication mode std::string from index More... | |
The slsDetectorUsers class is a minimal interface class which should be instantiated by the users in their acquisition software (EPICS, spec etc.). More advanced configuration functions are not implemented and can be written in a configuration or parameters file that can be read/written.
Class for detector functionalities to embed the detector controls in the users custom interface e.g. EPICS, Lima etc.
Definition at line 85 of file slsDetectorUsers.h.
slsDetectorUsers::slsDetectorUsers | ( | int & | ret, |
int | id = 0 |
||
) |
default constructor
ret | address of return value. It will be set to 0 for success, else 1 for failure |
id | multi detector id in creating multidetector object |
|
virtual |
virtual destructor
|
virtual |
adds frame to merging/summation - can be overcome by the user's functions thanks to the virtual property
data | pointer to the raw data |
pos | encoder position |
i0 | beam monitor readout for intensity normalization (if 0 not performed) |
t | exposure time in seconds, required only if rate corrections |
fname | file name (unused since filewriting would be performed by the user) |
var | optional parameter - unused. |
int slsDetectorUsers::dumpDetectorSetup | ( | std::string const | fname | ) |
Reads the parameters from the detector and writes them to file.
fname | file to write to |
int slsDetectorUsers::enableAngularConversion | ( | int | i = -1 | ) |
enable/disable angular conversion
i | 0 disables, 1 enables, -1 gets |
int slsDetectorUsers::enableCountRateCorrection | ( | int | i = -1 | ) |
enable/disable count rate corrections
i | 0 disables, 1 enables with default values, -1 gets |
int slsDetectorUsers::enableDataStreamingFromReceiver | ( | int | i = -1 | ) |
Enable or disable streaming data from receiver (creates transmitting sockets)
i | 0 to disable 1 to enable -1 to only get the value |
int slsDetectorUsers::enableDataStreamingToClient | ( | int | i = -1 | ) |
Enable data streaming to client (creates receiving sockets)
i | 0 to disable, 1 to enable, -1 to get the value |
int slsDetectorUsers::enableFlatFieldCorrection | ( | int | i = -1 | ) |
enable/disable flat field corrections (without changing file name)
i | 0 disables, 1 enables, -1 gets |
int slsDetectorUsers::enableGapPixels | ( | int | enable = -1 | ) |
Enable gap pixels, only for Eiger and for 8,16 and 32 bit mode. 4 bit mode gap pixels only in gui call back (registerDataCallback)
enable | 1 sets, 0 unsets, -1 gets |
int slsDetectorUsers::enablePixelMaskCorrection | ( | int | i = -1 | ) |
enable/disable bad channel corrections
i | 0 disables, 1 enables, -1 gets |
int slsDetectorUsers::enableWriteToFile | ( | int | i = -1 | ) |
Enable write file function included
|
virtual |
finalizes the data set returning the array of angles, values and errors to be used as final data - can be overcome by the user's functions thanks to the virtual property
a | pointer to the array of angles - can be null if no angular coversion is required |
v | pointer to the array of values |
e | pointer to the array of errors |
np | reference returning the number of points |
int slsDetectorUsers::getADC | ( | std::string | adc, |
int | id = -1 |
||
) |
get adc value
adc | adc as std::string. can be temp_fpga, temp_fpgaext, temp_10ge, temp_dcdc, temp_sodl, temp_sodr, temp_fpgafl, temp_fpgafr. others not supported |
id | module index (-1 for all) |
std::string slsDetectorUsers::getCommand | ( | int | narg, |
char * | args[], | ||
int | pos = -1 |
||
) |
gets parameters in command interface http://www.psi.ch/detectors/UsersSupportEN/slsDetectorClientHowTo.pdf
narg | value to be set |
args | value to be set |
pos | position of detector in multislsdetector list |
std::string slsDetectorUsers::getDetectorDeveloper | ( | ) |
useful to define subset of working functions
int64_t slsDetectorUsers::getDetectorFirmwareVersion | ( | int | imod = -1 | ) |
get get Detector Firmware Version
imod | module number |
int64_t slsDetectorUsers::getDetectorSerialNumber | ( | int | imod = -1 | ) |
get get Detector Serial Number
imod | module number |
|
inlinestatic |
returns detector settings std::string from index
s | can be standard, fast, highgain, dynamicgain, lowgain, mediumgain, veryhighgain |
Definition at line 870 of file slsDetectorUsers.h.
|
inlinestatic |
returns detector settings std::string from index
s | settings index |
Definition at line 884 of file slsDetectorUsers.h.
int slsDetectorUsers::getDetectorSize | ( | int & | x0, |
int & | y0, | ||
int & | nx, | ||
int & | ny | ||
) |
gets detector size (roi size if only one roi)
x0 | horizontal position origin in channel number |
y0 | vertical position origin in channel number |
nx | number of channels in horiziontal |
ny | number of channels in vertical |
int64_t slsDetectorUsers::getDetectorSoftwareVersion | ( | int | imod = -1 | ) |
get get Detector Software Version
imod | module number |
int slsDetectorUsers::getDetectorStatus | ( | ) |
get run status
std::string slsDetectorUsers::getDetectorType | ( | ) |
useful for data plotting etc.
int slsDetectorUsers::getFileIndex | ( | ) |
std::string slsDetectorUsers::getFileName | ( | ) |
std::string slsDetectorUsers::getFilePath | ( | ) |
returns the default output files path
std::string slsDetectorUsers::getFlatFieldCorrectionDir | ( | ) |
get flat field corrections file directory
std::string slsDetectorUsers::getFlatFieldCorrectionFile | ( | ) |
get flat field corrections file name
int slsDetectorUsers::getMaximumDetectorSize | ( | int & | nx, |
int & | ny | ||
) |
gets the maximum detector size
nx | number of channels in horiziontal |
ny | number of channels in vertical |
double slsDetectorUsers::getMeasuredPeriod | ( | bool | inseconds = false , |
int | imod = -1 |
||
) |
get measured period between previous two frames(EIGER only)
inseconds | true if the value is in s, else ns |
imod | module number (-1 for all) |
double slsDetectorUsers::getMeasuredSubFramePeriod | ( | bool | inseconds = false , |
int | imod = -1 |
||
) |
get measured sub period between previous two sub frames in 32 bit mode (EIGER only)
inseconds | true if the value is in s, else ns |
imod | module number (-1 for all) |
int64_t slsDetectorUsers::getModuleFirmwareVersion | ( | int | imod = -1 | ) |
get get Module Firmware Version
imod | module number |
int64_t slsDetectorUsers::getModuleSerialNumber | ( | int | imod = -1 | ) |
get get Module Serial Number (only mythen)
imod | module number |
int slsDetectorUsers::getNMods | ( | ) |
returns total number of detector modules
int slsDetectorUsers::getPositions | ( | double * | pos = NULL | ) |
get positions for the acquisition
pos | array which will contain the encoder positions |
slsDetectorDefs::ROI* slsDetectorUsers::getROI | ( | int & | n, |
int | imod = -1 |
||
) |
Get ROI from each detector and convert it to the multi detector scale (Gotthard) >= 1 roi, but max 1 roi per module
n | number of rois |
imod | module number (ignored) |
int64_t slsDetectorUsers::getThisSoftwareVersion | ( | ) |
get this Software Version
int slsDetectorUsers::getThresholdEnergy | ( | ) |
get threshold energy
|
inlinestatic |
returns external communication mode std::string from index
f | index for communication mode |
Definition at line 904 of file slsDetectorUsers.h.
|
inlinestatic |
returns external communication mode std::string from index
s | index for communication mode |
Definition at line 921 of file slsDetectorUsers.h.
|
virtual |
function to initalize a set of measurements (reset binning if angular conversion, reset summing otherwise) - can be overcome by the user's functions thanks to the virtual property
refresh | if 1, all parameters like ffcoefficients, badchannels, ratecorrections etc. are reset (should be called at least onece with this option), if 0 simply reset merging/ summation |
std::string slsDetectorUsers::putCommand | ( | int | narg, |
char * | args[], | ||
int | pos = -1 |
||
) |
sets parameters in command interface http://www.psi.ch/detectors/UsersSupportEN/slsDetectorClientHowTo.pdf
narg | value to be set |
args | value to be set |
pos | position of detector in multislsdetector list |
int slsDetectorUsers::readConfigurationFile | ( | std::string const | fname | ) |
Reads the configuration file – will contain all the informations needed for the configuration (e.g. for a PSI detector caldir, settingsdir, angconv, badchannels, hostname etc.)
fname | file name |
void slsDetectorUsers::registerAcquisitionFinishedCallback | ( | int(*)(double, int, void *) | func, |
void * | pArg | ||
) |
register calbback for accessing detector final data
func | function to be called at the end of the acquisition. gets detector status and progress index as arguments |
pArg | argument |
void slsDetectorUsers::registerConnectChannelsCallback | ( | int(*)(void *) | func, |
void * | arg | ||
) |
register callback for connecting to the epics channels
func | function for connecting to the epics channels |
arg | argument |
void slsDetectorUsers::registerDataCallback | ( | int(*)(detectorData *d, int f, int s, void *) | userCallback, |
void * | pArg | ||
) |
register calbback for accessing detector final data, also enables data streaming in client and receiver (if receiver exists)
userCallback | function for plotting/analyzing the data. Its arguments are the data structure d and the frame number f, s is for subframe number for eiger for 32 bit mode |
pArg | argument |
void slsDetectorUsers::registerDisconnectChannelsCallback | ( | int(*)(void *) | func, |
void * | arg | ||
) |
register callback to disconnect the epics channels
func | function to disconnect the epics channels |
arg | argument |
void slsDetectorUsers::registerGetI0Callback | ( | double(*)(int, void *) | func, |
void * | arg | ||
) |
register calbback reading to I0
func | function for reading the I0 (called with parameter 0 before the acquisition, 1 after and the return value used as I0) |
arg | argument |
void slsDetectorUsers::registerGetPositionCallback | ( | double(*)(void *) | func, |
void * | arg | ||
) |
register calbback for reading detector position
func | function for reading the detector position |
arg | argument |
void slsDetectorUsers::registerGoToPositionCallback | ( | int(*)(double, void *) | func, |
void * | arg | ||
) |
register callback for moving the detector
func | function for moving the detector |
arg | argument |
void slsDetectorUsers::registerGoToPositionNoWaitCallback | ( | int(*)(double, void *) | func, |
void * | arg | ||
) |
register callback for moving the detector without waiting
func | function for moving the detector |
arg | argument |
void slsDetectorUsers::registerRawDataCallback | ( | int(*)(double *p, int n, void *) | userCallback, |
void * | pArg | ||
) |
register callback for accessing raw data - if the rawDataCallback is registered, no filewriting/postprocessing will be carried on automatically by the software - the raw data are deleted by the software
userCallback | function for postprocessing and saving the data - p is the pointer to the data, n is the number of channels |
pArg | argument |
int slsDetectorUsers::resetFramesCaughtInReceiver | ( | ) |
reset frames caught in receiver should be called before startReceiver()
int slsDetectorUsers::retrieveDetectorSetup | ( | std::string const | fname | ) |
Loads the detector setup from file.
fname | file to read from |
|
inlinestatic |
returns std::string from run status index
s | run status index |
Definition at line 851 of file slsDetectorUsers.h.
int slsDetectorUsers::sendSoftwareTrigger | ( | ) |
Sends a software internal trigger (EIGER only)
int slsDetectorUsers::setAllTrimbits | ( | int | val, |
int | id = -1 |
||
) |
sets all trimbits to value (only available for eiger)
val | value to be set (-1 gets) |
id | module index (-1 for all) |
int slsDetectorUsers::setBitDepth | ( | int | i = -1 | ) |
set/get dynamic range
i | dynamic range (-1 get) |
std::string slsDetectorUsers::setClientDataStreamingInIP | ( | std::string | ip = "" | ) |
(for expert users) Set/Get client streaming in ZMQ IP By default, it is the IP of receiver hostname
ip | sets, empty std::string gets |
int slsDetectorUsers::setClientDataStreamingInPort | ( | int | i = -1 | ) |
(for expert users) Set/Get client streaming in ZMQ port For multi modules, it calculates (increments), sets the ports and restarts the sockets
i | sets, -1 gets |
int slsDetectorUsers::setClockDivider | ( | int | value | ) |
sets clock divider of detector
value | value to be set (-1 gets) |
int slsDetectorUsers::setDAC | ( | std::string | dac, |
int | val, | ||
int | id = -1 |
||
) |
set dac value
dac | dac as std::string. can be vcmp_ll, vcmp_lr, vcmp_rl, vcmp_rr, vthreshold, vrf, vrs, vtr, vcall, vcp. others not supported |
val | value to be set (-1 gets) |
id | module index (-1 for all) |
double slsDetectorUsers::setDelayAfterTrigger | ( | double | t = -1 , |
bool | inseconds = false , |
||
int | imod = -1 |
||
) |
set/get delay after trigger
t | time in ns (-1 gets) |
inseconds | true if the value is in s, else ns |
imod | module number (-1 for all) |
int slsDetectorUsers::setDetectorSize | ( | int | x0 = -1 , |
int | y0 = -1 , |
||
int | nx = -1 , |
||
int | ny = -1 |
||
) |
sets the detector size (only 1 ROI)
x0 | horizontal position origin in channel number (-1 unchanged) |
y0 | vertical position origin in channel number (-1 unchanged) |
nx | number of channels in horiziontal (-1 unchanged) |
ny | number of channels in vertical (-1 unchanged) |
double slsDetectorUsers::setExposurePeriod | ( | double | t = -1 , |
bool | inseconds = false , |
||
int | imod = -1 |
||
) |
set/get exposure period
t | time in ns (-1 gets) |
inseconds | true if the value is in s, else ns |
imod | module number (-1 for all) |
double slsDetectorUsers::setExposureTime | ( | double | t = -1 , |
bool | inseconds = false , |
||
int | imod = -1 |
||
) |
set/get exposure time value
t | time in sn (-1 gets) |
inseconds | true if the value is in s, else ns |
imod | module number (-1 for all) |
int slsDetectorUsers::setFileIndex | ( | int | i | ) |
sets the default output file index
i | file index |
std::string slsDetectorUsers::setFileName | ( | std::string | s | ) |
sets the default output files path
s | file name |
std::string slsDetectorUsers::setFilePath | ( | std::string | s | ) |
sets the default output files path
s | file path |
std::string slsDetectorUsers::setFlatFieldCorrectionDir | ( | std::string | dir | ) |
set flat field corrections file directory
dir | flat field correction file directory |
int slsDetectorUsers::setFlatFieldCorrectionFile | ( | std::string | fname = "" | ) |
set flat field correction file
fname | name of the flat field file (or "" if disable) |
int slsDetectorUsers::setFlowControl10G | ( | int | i = -1 | ) |
set flow control for 10Gbe (Eiger only)
i | 1 sets, 0 unsets (-1 gets) |
int slsDetectorUsers::setHighVoltage | ( | int | i | ) |
set high voltage
i | > 0 sets, 0 unsets, (-1 gets) |
int64_t slsDetectorUsers::setNumberOfCycles | ( | int64_t | t = -1 , |
int | imod = -1 |
||
) |
set/get number of cycles i.e. number of triggers
t | number of frames (-1 gets) |
imod | module number (-1 for all) |
int64_t slsDetectorUsers::setNumberOfFrames | ( | int64_t | t = -1 , |
int | imod = -1 |
||
) |
set/get number of frames i.e. number of exposure per trigger
t | number of frames (-1 gets) |
imod | module number (-1 for all) |
int64_t slsDetectorUsers::setNumberOfGates | ( | int64_t | t = -1 , |
int | imod = -1 |
||
) |
set/get number of gates
t | number of gates (-1 gets) |
imod | module number (-1 for all) |
int64_t slsDetectorUsers::setNumberOfStorageCells | ( | int64_t | t = -1 , |
int | imod = -1 |
||
) |
set/get number of additional storage cells (Jungfrau)
t | number of additional storage cells. Default is 0. (-1 gets) |
imod | module number (-1 for all) |
int slsDetectorUsers::setOnline | ( | int const | online = -1 | ) |
sets the onlineFlag
online | can be: -1 returns wether the detector is in online (1) or offline (0) state; 0 detector in offline state; 1 detector in online state |
int slsDetectorUsers::setOverflowMode | ( | int | value | ) |
show saturated for overflow in subframes in 32 bit mode (eiger only)
value | 0 for do not show saturatd, 1 for show saturated (-1 gets) |
int slsDetectorUsers::setParallelMode | ( | int | value | ) |
sets parallel mode
value | 0 for non parallel, 1 for parallel, 2 for safe mode (-1 gets) |
int slsDetectorUsers::setPositions | ( | int | nPos, |
double * | pos | ||
) |
set positions for the acquisition
nPos | number of positions |
pos | array with the encoder positions |
std::string slsDetectorUsers::setReceiverDataStreamingOutIP | ( | std::string | ip = "" | ) |
(for expert users) Set/Get receiver streaming out ZMQ IP By default, it is the IP of receiver hostname
ip | sets, empty std::string gets |
int slsDetectorUsers::setReceiverDataStreamingOutPort | ( | int | i = -1 | ) |
(for expert users) Set/Get receiver streaming out ZMQ port For multi modules, it calculates (increments), sets the ports and restarts the sockets
i | sets, -1 gets |
int slsDetectorUsers::setReceiverFifoDepth | ( | int | i = -1 | ) |
set receiver fifo depth
i | number of images in fifo depth (-1 gets) |
std::string slsDetectorUsers::setReceiverFramesDiscardPolicy | ( | std::string | f = "get" | ) |
Sets the frames discard policy in receiver frame discard policy options:
f | nodiscard (default),discardempty, discardpartial (fastest), get to get the value |
int slsDetectorUsers::setReceiverFramesPerFile | ( | int | f = -1 | ) |
Sets the frames per file in receiver
f | frames per file, 0 is infinite ie. every frame in same file (-1 gets) |
int slsDetectorUsers::setReceiverMode | ( | int | n = -1 | ) |
sets the mode by which gui requests data from receiver
n | is 0 for random requests for fast acquisitions and greater than 0 for nth read requests |
int slsDetectorUsers::setReceiverOnline | ( | int const | online = -1 | ) |
sets the receivers onlineFlag
online | can be: -1 returns wether the receiver is in online (1) or offline (0) state; 0 receiver in offline state; 1 receiver in online state |
int slsDetectorUsers::setReceiverPartialFramesPadding | ( | int | f = -1 | ) |
Sets the frame padding in receiver
f | 0 does not partial frames, 1 pads partial frames (-1 gets) |
int slsDetectorUsers::setReceiverSilentMode | ( | int | i | ) |
set receiver in silent mode
i | 1 sets, 0 unsets (-1 gets) |
int slsDetectorUsers::setROI | ( | int | n = -1 , |
slsDetectorDefs::ROI | roiLimits[] = NULL , |
||
int | imod = -1 |
||
) |
Set ROI (Gotthard) (>= 1 roi, but max 1 roi per module) At the moment only one set allowed
n | number of rois |
roiLimits | array of roi |
imod | module number (-1 for all) |
int slsDetectorUsers::setSettings | ( | int | isettings = -1 | ) |
set detector settings
isettings | settings index (-1 gets) |
int slsDetectorUsers::setStoragecellStart | ( | int | pos = -1 | ) |
Set storage cell that stores first acquisition of the series (Jungfrau)
pos | storage cell index. Value can be 0 to 15. Default is 15. (-1 gets) |
double slsDetectorUsers::setSubFrameExposureDeadTime | ( | double | t = -1 , |
bool | inseconds = false , |
||
int | imod = -1 |
||
) |
Set sub frame dead time (only for Eiger) Very advanced feature. Meant to be a constant in config file by an expert for each individual module
t | sub frame dead time (-1 gets) |
inseconds | true if the value is in s, else ns |
imod | module number (-1 for all) |
double slsDetectorUsers::setSubFrameExposureTime | ( | double | t = -1 , |
bool | inseconds = false , |
||
int | imod = -1 |
||
) |
Set sub frame exposure time (only for Eiger)
t | sub frame exposure time (-1 gets) |
inseconds | true if the value is in s, else ns |
imod | module number (-1 for all) |
int slsDetectorUsers::setTenGigabitEthernet | ( | int | i = -1 | ) |
enable/disable 10GbE (Eiger only)
i | 1 sets, 0 unsets (-1 gets) |
int slsDetectorUsers::setThresholdEnergy | ( | int | e_eV | ) |
set threshold energy
e_eV | threshold in eV |
int slsDetectorUsers::setThresholdEnergy | ( | int | e_ev, |
int | tb, | ||
int | isettings = -1 , |
||
int | id = -1 |
||
) |
set threshold energy with choice to load trimbits (eiger only)
e_ev | threshold in ev |
tb | 1 loads trimbits, 0 does not load trimbits |
isettings | settings index (-1 uses current setting) |
id | module index (-1 for all) |
int slsDetectorUsers::setTimingMode | ( | int | pol = -1 | ) |
set/get the external communication mode
pol | value to be set |
int slsDetectorUsers::startAcquisition | ( | ) |
start detector real time acquisition in non blocking mode does not include scans, scripts, incrementing file index, s tarting/stopping receiver, resetting frames caught in receiver
void slsDetectorUsers::startMeasurement | ( | ) |
start measurement and acquires
int slsDetectorUsers::startReceiver | ( | ) |
start receiver listening mode
int slsDetectorUsers::stopAcquisition | ( | ) |
stop detector real time acquisition
int slsDetectorUsers::stopMeasurement | ( | ) |
stop measurement
int slsDetectorUsers::stopReceiver | ( | ) |
stop receiver listening mode