.

Average: 0
Rating Count: 0

Development status: New development
Information status: Updated
Repository: http://svn.code.sf.net/p/tango-ds/code/DeviceClasses/Acquisition/2D/Jungfrau
Contact:



Class Description


Tango device server for Jungfrau detectors, using the SLS detector package.

Families: Acquisition

Key words:

Platform: Unix Like

Language: Cpp

License: GPL

Contact:

Hardware


Manufacturer: PSI

Product:

Jungfrau

Bus: TCP/UDP

Class interface


Attributes:

Name Description
MonitorImage: DevULong
PixelMaskImage: DevUChar
PedestalG2Image: DevDouble
PedestalG1Image: DevDouble
PedestalG0Image: DevDouble
GainMap2Image: DevDouble
GainMap1Image: DevDouble
GainMap0Image: DevDouble
TemperatureSpectrum: DevFloat
SoftwareReceiverVersionScalar: DevString Version of the Receiver library object this Tango server is linked against.
SoftwareKernelVersionScalar: DevString Version of the slsDetectorPackage this Tango server is linked against.
SoftwareClientVersionScalar: DevString Version of the Detector library object this Tango server is linked against.
DetectorFirmwareVersionScalar: DevString Firmware versions of the detector modules.
DetectorSerialNumberScalar: DevString Serial numbers of the detector modules.
DetectorTypeScalar: DevString Detector type indentifier.
StreamUpdateIntervalScalar: DevFloat Interval after which the current image will be streamed out. Default is 500 ms. Only active if StreamDivider is set to 0.
StreamDividerScalar: DevUShort Every nth image will be streamed out. Default is 1, meaning every image. If 0, StreamUpdateInterval is the timeout, after which current frame is sent out.
StreamEnabledScalar: DevBoolean Enable/disable data streaming from receiver via ZMQ to other processes. This creates/destroys zmq streamer threads in receiver. For fast applications is might be necessary to turn this off. The servers file writer and monitoring features make use of this and will enable streaming automatically.
MonitorGeometryCorrectionScalar: DevBoolean Whether module and submodule gaps will be inserted to the monitor image.
MonitorGainModeDecodingScalar: DevBoolean Whether the pedestals will be substracted and gain modes decoded on the monitor image.
MonitorPixelMaskScalar: DevBoolean Whether the pixel mask will be applied on the monitor image.
MonitorDiscardNewScalar: DevBoolean If enabled, the monitor buffer will dicard new images instead of old ones when it`s filled.
MonitorDividerScalar: DevUShort Only every nth image will be copied into the monitor buffer.
MonitorBufferSizeScalar: DevUShort How many images the monitor buffer can keep.
MonitorIntegrationRangeScalar: DevUShort If set to a value >0, the set number of images will be sumed up and put into the buffer as one image.
MonitorEnabledScalar: DevBoolean If set, the images will be retreived through a Receiver callback and put into the monitor buffer. If this is disabled and FilewriterBasciMode is enabled, the callback is not registered which speeds up the Receiver.
FilewriterGeometryCorrectionScalar: DevBoolean Whether module and submodule gaps will be inserted to images written to disk if not set to FilewriterBasicMode.
FilewriterGainModeDecodingScalar: DevBoolean Whether the pedestals will be substracted and gain modes decoded on images written to disk if not set to FilewriterBasicMode.
FilewriterPixelMaskScalar: DevBoolean Whether the pixel mask will be applied on images written to disk if not set to FilewriterBasicMode.
FilewriterBasicModeScalar: DevBoolean If enabled, the server will not write image files itself, but leave this to the Receiver objects of the slsDetectorPackage.
FilewriterAcquisitionIndexScalar: DevULong Index automatically appended to the file name and increased after every run.
FilewriterNameScalar: DevString Prefix for the name of the image files.
FilewriterPathScalar: DevString Path to the folder where the image files are written into.
FilewriterEnabledScalar: DevBoolean No images will be written to disk if disabled.
HeightScalar: DevUShort Number of detector in one vertical line.
WidthScalar: DevUShort Number of detector in one horizontal line.
HighVoltageScalar: DevUChar Sets the high voltage used. Possible values are between 60V and 200V. 0 disables the high voltage.
GainModeScalar: pogoDsl:EnumType Dynamic switches automatically between all gain modes. ForceSwitchG1 disables gain mode 0. ForceSwitchG2 disables gain modes 0 and 1. FixG0 forces the detector to use gain mode 0 only. FixG1 forces the detector to use gain mode 1 only. FixG2 forces the detector to use gain mode 2 only. Use FixG0 with caution, for it can easily break the detector!
TriggerStartDelayScalar: DevDouble Delay between receiving a trigger pulse and starting the acquisition.
TriggerModeScalar: pogoDsl:EnumType In the internal mode NImages number of images are taken with the period set in ExposurePeriod. The value in Ntriggers is ignored. In external mode each trigger pulse starts a series of Nimages images, with the given period. Burst mode is currently not implemented.
ExposurePeriodScalar: DevDouble Interval between to images if in internal trigger mode.
ExposureTimeScalar: DevDouble Exposure time for a single image.
NTriggersScalar: DevULong Number of triggers for one acquisition run.
NImagesScalar: DevULong Number of frames per trigger.

Commands:

Name Description
ClearMonitorBufferInput: DevVoid
Output: DevVoid
Clears the monitor buffer.
PedestalsInput: DevVoid
Output: DevVoid
Takes a series of images for each gain mode and computes pedestals from them. All series are 1000 images long and will be taken using the exposure time set. The frist series for gain mode 0 uses the regular dynamic gain mode setting with a period as short as possible (at least 1ms). For the following series for gain mode 1 and 2 the corresponding gain mode switch will be fixed and the given period will be used (but not shorter then 10ms). Please make sure there is no signal on the detector before executing this command.
StopInput: DevVoid
Output: DevVoid
Abort detector acquisition. Internally calls the stopDetector command.
StartInput: DevVoid
Output: DevVoid
Starts a data acquisition. Internally calls the acquire command.
StatusInput: DevVoid
Output: ConstDevString
Device status
This command gets the device status (stored in its device_status data member) and returns it to the caller.
StateInput: DevVoid
Output: State
Device state
This command gets the device state (stored in its device_state data member) and returns it to the caller.

Pipes:

Properties:

Name Description
PixelMaskPathArray of DevString
GainMapPathArray of DevString Gain map files for each module.
ConfigurationPathDevString Config file for Detector and Receiver objects from the slsDetectorPackage.
DetectorIdDevLong Detector shared memory id Default value is 0. Can be set to more values for multiple detectors.It is important only if you are controlling multiple detectors from the same pc.


Please log in to comment.

README

### Note

Please do not update to any xxxx.xx.xx.dev0 tags. They are not releases, but tags for internal usage. Use only releases with tags such as x.x.x or x.x.x-rcx.

### Documentation ##### 5.0.0 - Latest Release Detailed documentation on the latest release can be found in the [software wiki](https://slsdetectorgroup.github.io/devdoc/index.html) and on the [official site](https://www.psi.ch/en/detectors/software).

##### Older Releases Documentation is found in the package.

### Binaries Binaries for the slsDetectorPackage are available through conda. ``` #Add conda channels conda config --add channels conda-forge conda config --add channels slsdetectorgroup conda config --set channel_priority strict

System Message: WARNING/2 (<string>, line 13); backlink

Inline literal start-string without end-string.

conda install slsdetlib #only shared lib and command line conda install slsdet #python bindings (includes slsdetlib) conda install slsdetgui #gui (includes qt4)

#Install specific version conda install slsdet=2020.03.02.dev0 #developer version from 3 March 2020

```

System Message: WARNING/2 (<string>, line 28); backlink

Inline literal start-string without end-string.

System Message: WARNING/2 (<string>, line 28); backlink

Inline interpreted text or phrase reference start-string without end-string.

### Source code One can also obtain the source code from this repository and compile. ``` git clone https://github.com/slsdetectorgroup/slsDetectorPackage.git

System Message: WARNING/2 (<string>, line 30); backlink

Inline literal start-string without end-string.

``` #### Dependencies

System Message: WARNING/2 (<string>, line 35); backlink

Inline literal start-string without end-string.

Refer [this page](https://slsdetectorgroup.github.io/devdoc/dependencies.html) for dependencies.

#### Compilation

Compiling can be done in two ways. Either with the convenience script cmk.sh or directly with cmake for more control.

**1. Compile using script cmk.sh**<br>

System Message: WARNING/2 (<string>, line 46); backlink

Inline strong start-string without end-string.

These are mainly aimed at those not familiar with using ccmake and cmake. ```

System Message: WARNING/2 (<string>, line 48); backlink

Inline literal start-string without end-string.

System Message: WARNING/2 (<string>, line 48); backlink

Inline interpreted text or phrase reference start-string without end-string.

System Message: ERROR/3 (<string>, line 50)

Unexpected indentation.

The binaries are generated in slsDetectorPackage/build/bin directory.

Usage: ./cmk.sh [-c] [-b] [-p] [e] [t] [r] [g] [s] [u] [i] [m] [n] [-h] [z] [-d <HDF5 directory>] [-l Install directory] [-k <CMake command>] [-j <Number of threads>] -[no option]: only make -c: Clean -b: Builds/Rebuilds CMake files normal mode -p: Builds/Rebuilds Python API -h: Builds/Rebuilds Cmake files with HDF5 package -d: HDF5 Custom Directory -k: CMake command -l: Install directory -t: Build/Rebuilds only text client -r: Build/Rebuilds only receiver -g: Build/Rebuilds only gui -s: Simulator -u: Chip Test Gui -j: Number of threads to compile through -e: Debug mode -i: Builds tests -m: Manuals -n: Manuals without compiling doxygen (only rst) -z: Moench zmq processor

# get all options ./cmk.sh -?

# new build and compile in parallel: ./cmk.sh -bj5

System Message: WARNING/2 (<string>, line 79)

Block quote ends without a blank line; unexpected unindent.

```

System Message: WARNING/2 (<string>, line 79); backlink

Inline literal start-string without end-string.

System Message: WARNING/2 (<string>, line 79); backlink

Inline interpreted text or phrase reference start-string without end-string.

**2. Compile without script**<br> Use cmake to create out-of-source builds, by creating a build folder parallel to source directory. This would create a debug build with address sanitizers. ```

System Message: WARNING/2 (<string>, line 81); backlink

Inline strong start-string without end-string.

System Message: WARNING/2 (<string>, line 81); backlink

Inline literal start-string without end-string.

System Message: WARNING/2 (<string>, line 81); backlink

Inline interpreted text or phrase reference start-string without end-string.

System Message: ERROR/3 (<string>, line 84)

Unexpected indentation.
$ mkdir build $ cd build $ cmake ../slsDetectorPackage -DCMAKE_BUILD_TYPE=Debug -DSLS_USE_SANITIZER=ON $ make -j12 #or whatever number of threads wanted

System Message: WARNING/2 (<string>, line 88)

Block quote ends without a blank line; unexpected unindent.

```

System Message: WARNING/2 (<string>, line 88); backlink

Inline literal start-string without end-string.

System Message: WARNING/2 (<string>, line 88); backlink

Inline interpreted text or phrase reference start-string without end-string.

To install binaries using CMake ```

System Message: WARNING/2 (<string>, line 90); backlink

Inline literal start-string without end-string.

System Message: WARNING/2 (<string>, line 90); backlink

Inline interpreted text or phrase reference start-string without end-string.

System Message: ERROR/3 (<string>, line 92)

Unexpected indentation.
git clone --recursive https://github.com/slsdetectorgroup/slsDetectorPackage.git mkdir build && cd build cmake ../slsDetectorPackage -DCMAKE_INSTALL_PREFIX=/your/install/path make -j12 #or whatever number of cores you are using to build make install

System Message: WARNING/2 (<string>, line 97)

Block quote ends without a blank line; unexpected unindent.

```

System Message: WARNING/2 (<string>, line 97); backlink

Inline literal start-string without end-string.

System Message: WARNING/2 (<string>, line 97); backlink

Inline interpreted text or phrase reference start-string without end-string.
### Support
dhanya.thattil@psi.ch erik.frojdh@psi.ch
13 Aug 2022, DS Admin
Updated:
The device class has been updated.
You can see previous version here .



6 Aug 2022, DS Admin
Created:
The device class has been added to catalogue.
Added by:dadmin on:6 Aug 2022, 4:47 a.m.