slsDetector refers to a group of detectors produced by SLS detectors group in PSI. They range from strip detectors to pixel array detectors. It is however a common interest of the group to use a common platform for data acquisition.
The architecture includes a socket server running on the detector controller(an embeded Linux), and a client side C++ library to communicate with the server. This driver is using such client side library, namely libSlsDetector, to control detector parameters as well as retrieve data. This driver inherits from ADDriver.
Parameter index variable | EPICS record name | Description |
---|---|---|
ADManufacturer |
|
Detector manuafacturer, either PSI or Dectris |
ADModel |
|
Detector type, Mythen, Eiger |
ADMaxSizeX |
|
Detector maximum size in X |
ADMaxSizeY |
|
Detector maximum size in Y |
ADMinX |
|
First pixel to read in the X direction. |
ADMinX |
|
First pixel to read in theY direction. |
ADSizeX |
|
DetectorDetector size in X |
ADSizeY |
|
DetectorDetector size in Y Depending on the hardware, the actual setting maybe rounded to the closest module. |
ADAcquireTime |
|
Exposure time measured in in seconds |
ADAcquirePeriod |
|
Exposure period in case of multiple images measured in seconds |
ADTemperatureActual |
|
Detector fpga temperature |
NDFileNumber |
|
File number |
NDFilePath |
|
File path |
NDFileName |
|
File base name |
NDFullFileName |
|
Composed from format "%s%s_%d", FilePath, FileName, FileNumber |
NDAutoSave |
|
Write flag (0=No, 1=Yes) controlling whether a file is automatically saved each time acquisition completes. |
Parameter index variable | asyn interface | Access | drvInfo string | EPICS record name | Description |
---|---|---|---|---|---|
SDSetting | asynInt32 | r/w | SD_SETTING |
|
Detector settings |
SDThreshold | asynInt32 | r/w | SD_THRESHOLD |
|
Threshold energy in eV |
SDEnergy | asynInt32 | r/w | SD_ENERGY |
|
Beam energy in eV. Threshold energy will change to be half of the beam energy. |
SDOnline | asynInt32 | r/w | SD_ONLINE |
|
Detector online control |
SDFlatFieldPath | asynOctet | r/w | SD_FLATFIELD_PATH |
|
File path and name of a file to correct for the flat field. |
SDFlatFieldFile | asynOctet | r/w | SD_FLATFIELD_FILE |
|
|
SDUseFlatField | asynInt32 | r/w | SD_USE_FLATFIELD |
|
Enable flat field correction |
SDUseCountRate | asynInt32 | r/w | SD_USE_COUNTRATE |
|
Enable count rate correction |
SDUsePixelMask | asynInt32 | r/w | SD_USE_PIXELMASK |
|
Enable pixel mask correction |
SDUseAngularConv | asynInt32 | r/w | SD_USE_ANGULAR_CONV |
|
Enable angular conversion |
SDBitDepth | asynInt32 | r/w | SD_BIT_DEPTH |
|
Dynamic range |
SDTimingMode | asynInt32 | r/w | SD_TMODE |
|
External signal communication mode, triggering, gating |
SDDelayTime | asynFloat64 | r/w | SD_DELAY_TIME |
|
Delay in seconds between external trigger and the start of image acquisition |
SDRecvMode | asynInt32 | r/w | SD_RECV_MODE |
|
Receiver data callback frequency |
SDHighVoltage | asynInt32 | r/w | SD_HIGH_VOLTAGE |
|
Detector high voltage |
SDNumGates | asynInt32 | r/w | SD_NGATES |
|
Number of gates if timing mode is gating |
SDNumCycles | asynInt32 | r/w | SD_NCYCLES |
|
Number of triggeres |
SDNumFrames | asynInt32 | r/w | SD_NFRAMES |
|
Number of frames to acquire for each trigger |
SDSetupFile | asynOctet | r/w | SD_SETUP_FILE |
|
Detector setup from file |
SDLoadSetup | asynInt32 | r/w | SD_LOAD_SETUP |
|
Load detector setup from file |
SDSaveSetup | asynInt32 | r/w | SD_SAVE_SETUP |
|
Save detector setup to file |
# slsDetectorConfig ( # portName, # The name of the asyn port driver to be created. # configFileName, # The configuration file to the detector. # detectorId, # The detector index number running on the same system. # maxBuffers, # The maximum number of NDArray buffers that the NDArrayPool for this driver is # allowed to allocate. Set this to -1 to allow an unlimited number of buffers. # maxMemory) # The maximum amount of memory that the NDArrayPool for this driver is # allowed to allocate. Set this to -1 to allow an unlimited amount of memory. slsDetectorConfig("SD1", "cfg/mcs1x21.config", 0, -1, -1)
- 1.2 - 08.08.2014
- libSlsDetector updated.
- 1.1 - 10.12.2013
- libSlsDetector updated to r706.
- Avoid calling getDetectorStatus from two threads simultaneously.
- 1.0 - 18.09.2013
- Milestone release. It has been tested for MYTHEN and GOTTHARD detectors.detectors