Development status:
New development
Information status: Updated
Repository:
http://svn.code.sf.net/p/tango-ds/code/DeviceClasses/Acquisition/1D/GotthardDetector
Contact:
Class Description
Device for Gotthard detectors from PSI company.
Families: Acquisition
Key words:
Platform: Unix Like
Language: Cpp
Contact:
Hardware
Manufacturer: DECTRIS
Bus: Data Socket
Class interface
Attributes:
Name | Description |
---|---|
gainSpectrum: DevLong | Shows the gain value for each channel. |
frameSpectrum: DevLong | Last number of detected photons in each detector channel. |
acquisitionADCScalar: DevString | The detector can acquire data from all ADC or a single ADC.<br> Avalaible values:<br> ALL<br> 1<br> 2<br> 3<br> 4<br> 5<br> |
acquisitionModeScalar: DevString | Avalaible acqusiition modes:<br> NORMAL<br> BURST<br> In BURST mode, the number of frames is limited to reach the highest frame rate. |
enableDatasetgainScalar: DevBoolean | Allows to activate or inactivate the gain saving in nexus files.<br> |
enableDatasetframeScalar: DevBoolean | Allows to activate or inactivate the Frame saving in the nexus files.<br> |
gainModeScalar: DevString | Set/Get gain mode.<br> <br> Available gain modes are :<br> DYNAMIC<br> LOW<br> MEDIUM<br> HIGH<br> VERY_HIGH<br> |
estimatedFrameRateScalar: DevFloat | Estimated frame rate for the detector. |
fileGenerationScalar: DevBoolean | File generation after a snap command |
streamNbAcqPerFileScalar: DevULong | Define the number of acquisition for each Stream file. |
streamTargetFileScalar: DevString | Define the file name for generated Stream files. |
streamTargetPathScalar: DevString | Defines the root path for generated Stream files. |
streamTypeScalar: DevString | Avalaible stream types:<br> NO_STREAM<br> LOG_STREAM <br> CSV_STREAM <br> NEXUS_STREAM<br> |
delayAfterTrigger2Scalar: DevDouble | get delay after trigger in ms of the second module. <br> Only relevant for these trigger modes :<br> EXTERNAL_SINGLE<br> EXTERNAL_MULTIPLE<br> |
delayAfterTrigger1Scalar: DevDouble | get delay after trigger in ms of the first module. <br> Only relevant for these trigger modes :<br> EXTERNAL_SINGLE<br> EXTERNAL_MULTIPLE<br> |
delayAfterTriggerScalar: DevDouble | set delay after trigger in ms for all modules. <br> Only relevant for these trigger modes :<br> EXTERNAL_SINGLE<br> EXTERNAL_MULTIPLE<br> |
latencyTimeScalar: DevDouble | Set/Get latency time (in ms).<br> <br> Only relevant for these trigger modes :<br> INTERNAL_SINGLE<br> EXTERNAL_SINGLE<br> EXTERNAL_MULTIPLE<br> |
exposureTimeScalar: DevDouble | Set/Get exposure time (in ms).<br> <br> Only relevant for these trigger modes :<br> INTERNAL_SINGLE<br> EXTERNAL_SINGLE<br> EXTERNAL_MULTIPLE<br> |
triggerModeScalar: DevString | Set/Get current trigger mode<br> <br> Available Trigger Modes are : INTERNAL_SINGLE<br> EXTERNAL_SINGLE<br> EXTERNAL_MULTIPLE<br> |
currentFrameScalar: DevULong | Display the current frame number. Only relevant with the Snap command. |
nbFramesScalar: DevLong | Define the number of frames within an acquisition.<br> Available only with the Snap command.<br> With the Start command, it is always forced to 0, this is mean that we request an infinite number of frames. |
nbChannelsScalar: DevLong | number of channels |
Commands:
Name | Description |
---|---|
GetCmdInput: DevString SlsDetector command Output: DevString SlsDetector response |
Allows to execute a line command (get type) |
SetCmdInput: DevString SlsDetector command Output: DevString SlsDetector response |
Allows to execute a line command (set type) |
StreamResetIndexInput: DevVoid Output: DevVoid |
Reset the stream (Nexus) buffer index to 1. |
GetDataStreamsInput: DevVoid Output: DevVarStringArray |
Returns the flyscan data streams associated with this device formatted as below :<br> |
StopInput: DevVoid Output: DevVoid |
Stop the acquisition. |
SnapInput: DevVoid Output: DevVoid |
Arm/Start the acquisition. |
StatusInput: DevVoid Output: ConstDevString Status description |
This command gets the device status (stored in its <i>device_status</i> data member) and returns it to the caller. |
StateInput: DevVoid Output: State State Code |
This command gets the device state (stored in its <i>device_state</i> data member) and returns it to the caller. |
Pipes:
Properties:
Name | Description |
---|---|
ExpertDetectorTypeDevString | Only an expert User could change this property<br> Applicable for StreamNexus Only !<BR> Available Values :<BR> - GOTTHARD<BR> - SIMULATOR<BR> |
MemorizedAcquisitionADCDevString | Only the device could modify this property <br> The User should never change this property<br> |
MemorizedAcquisitionModeDevString | Only the device could modify this property <br> The User should never change this property<br> |
ExpertBurstModeMaxFramesDevLong | Only an expert User could change this property.<br> This is the maximum number of frames which can be set with a BURST acquisition mode.<BR> |
ExpertReadoutTimeSingleADCDevDouble | Only an expert User could change this property.<br> This is the readout time in seconds of the camera using ADC Roi.<BR> |
MemorizedEnableDatasetgainDevBoolean | Only the device could modify this property <br> The User should never change this property<br> |
MemorizedGainModeDevString | Only the device could modify this property <br> The User should never change this property<br> |
MemorizedDelayAfterTriggerDevDouble | Only the device could modify this property <br> The User should never change this property<br> |
MemorizedLatencyTimeDevDouble | Only the device could modify this property <br> The User should never change this property<br> |
MemorizedExposureTimeDevDouble | Only the device could modify this property <br> The User should never change this property<br> |
MemorizedNbFramesDevLong | Only the device could modify this property <br> The User should never change this property<br> |
MemorizedTriggerModeDevString | Only the device could modify this property <br> The User should never change this property<br> |
MemorizedFileGenerationDevBoolean | Only the device could modify this property <br> The User should never change this property<br> |
ExpertStreamWriteModeDevString | Only an expert User could change this property<br> Applicable for StreamNexus Only !<BR> Available Values :<BR> - ASYNCHRONOUS<BR> - SYNCHRONOUS<BR> - DELAYED<BR> |
MemorizedStreamNbAcqPerFileDevULong | Only the device could modify this property <br> The User should never change this property<br> |
MemorizedStreamTypeDevString | Only the device could modify this property <br> The User should never change this property<br> |
MemorizedStreamTargetFileDevString | Only the device could modify this property <br> The User should never change this property<br> |
MemorizedStreamTargetPathDevString | Only the device could modify this property <br> The User should never change this property<br> |
ExpertStreamMemoryModeDevString | Only an expert User could change this property<br> Applicable for StreamNexus Only !<BR> Available Values :<BR> - COPY<BR> - NO_COPY<BR> |
ExpertReceiverFifoDepthDevLong | Only an expert User could change this property.<br> This is the number of frames in memory of the receiver.<BR> |
ExpertReadoutTimeAllADCDevDouble | Only an expert User could change this property.<br> This is the readout time in seconds of the camera.<BR> |
ExpertAdcFramePacketNumberDevLong | Only an expert User could change this property.<br> This is the number of packet for each received frame part when an ADC was selected.<BR> |
ExpertFramePacketNumberDevLong | Only an expert User could change this property.<br> This is the number of packet for each received frame part.<BR> |
SpoolIDDevString | Used only by the FlyScan application |
ConfigFileNameDevString | Configuration files used during the camera instanciation. |
Please log in to comment.
README
### Documentation Detailed documentation can be found on the [official site.](https://www.psi.ch/detectors/users-support)
### Binaries Documentation to obtain the binaries via the conda package is available for [lib](https://github.com/slsdetectorgroup/sls_detector_lib) and [gui](https://github.com/slsdetectorgroup/sls_detector_gui)
### Source code One can also obtain the source code from this repository and compile while realizing the setup dependencies as required. ``` git clone https://github.com/slsdetectorgroup/slsDetectorPackage.git
` #### Setup dependencies * Gui Client <br> Requirements: Qt 4.8 and Qwt 6.0 `
export QTDIR=/usr/local/Trolltech/ export QWTDIR=/usr/local/qwt-6.0.1/
``` If either of them does not exist, the GUI client will not be built.
- Advanced user Calibration wizards<br>
export ROOTSYS=/usr/local/root-5.34
#### Compilation
Compiling can be done in two ways.
**1. Compile using script cmk.sh**<br>
After compiling, the libraries and executables will be found in slsDetectorPackage/build/bin directory<br>
- Usage: [-c] [-b] [-h] [-d HDF5 directory] [-j]<br>
- -[no option]: only make<br>
- -c: Clean<br>
- -b: Builds/Rebuilds CMake files normal mode<br>
- -h: Builds/Rebuilds Cmake files with HDF5 package<br>
- -d: HDF5 Custom Directory<br>
- -t: Build/Rebuilds only text client<br>
- -r: Build/Rebuilds only receiver<br>
- -g: Build/Rebuilds only gui<br>
- -j: Number of threads to compile through<br>
- -e: Debug mode
Basic Option: ./cmk.sh -b
For only make: ./cmk.sh
For make clean;make: ./cmk.sh -c
For using hdf5 without custom dir /blabla: ./cmk.sh -h -d /blabla
For rebuilding cmake without hdf5 ./cmk.sh -b
For using multiple cores to compile faster: ./cmk.sh -j9<br>
For rebuilding only certain sections<br> ./cmk.sh -tg #only text client and gui<br> ./cmk.sh -r #only receiver<br>
**2. Compile without script**<br> Use cmake to create out-of-source builds, by creating a build folder parallel to source directory. ```
$ cd .. $ mkdir slsDetectorPackage-build $ cd slsDetectorPackage-build $ cmake ../slsDetectorPackage -DCMAKE_BUILD_TYPE=Debug -DUSE_HDF5=OFF $ make
Use the following as an example to compile statically and using specific hdf5 folder ```
$ HDF5_ROOT=/opt/hdf5v1.10.0 cmake ../slsDetectorPackage -DCMAKE_BUILD_TYPE=Debug -DUSE_HDF5=ON
After compiling, the libraries and executables will be found at bin directory ```
$ ls bin/ gui_client libSlsDetector.a libSlsDetector.so libSlsReceiver.a libSlsReceiver.so sls_detector_acquire sls_detector_get slsDetectorGui sls_detector_help sls_detector_put slsReceiver slsMultiReceiver
Updated:
The device class has been updated.
You can see previous version here .
15 Sep 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .
4 Aug 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .
21 Jul 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .
14 Jul 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .
7 Jul 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .
30 Jun 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .
23 Jun 2018, DS Admin
Created:
The device class has been added to catalogue.