.

Average: 0
Rating Count: 0

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

License:

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>
Requirements: ROOT
```
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
```

3 Nov 2018, DS Admin
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.
Added by:dadmin on:23 Jun 2018, 5:02 a.m.