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 |
---|---|
NImagesScalar: DevULong | Number of frames per trigger. |
NTriggersScalar: DevULong | Number of triggers for one acquisition run. |
ExposureTimeScalar: DevDouble | Exposure time for a single image. |
ExposurePeriodScalar: DevDouble | Interval between to images if in internal trigger mode. |
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. |
TriggerStartDelayScalar: DevDouble | Delay between receiving a trigger pulse and starting the acquisition. |
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! |
HighVoltageScalar: DevUChar | Sets the high voltage used. Possible values are between 60V and 200V. 0 disables the high voltage. |
WidthScalar: DevUShort | Number of detector in one horizontal line. |
HeightScalar: DevUShort | Number of detector in one vertical line. |
FilewriterEnabledScalar: DevBoolean | No images will be written to disk if disabled. |
FilewriterPathScalar: DevString | Path to the folder where the image files are written into. |
FilewriterNameScalar: DevString | Prefix for the name of the image files. |
FilewriterAcquisitionIndexScalar: DevULong | Index automatically appended to the file name and increased after every run. |
FilewriterBasicModeScalar: DevBoolean | If enabled, the server will not write image files itself, but leave this to the Receiver objects of the slsDetectorPackage. |
FilewriterPixelMaskScalar: DevBoolean | Whether the pixel mask will be applied on 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. |
FilewriterGeometryCorrectionScalar: DevBoolean | Whether module and submodule gaps will be inserted to images written to disk if not set to FilewriterBasicMode. |
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. |
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. |
MonitorBufferSizeScalar: DevUShort | How many images the monitor buffer can keep. |
MonitorDividerScalar: DevUShort | Only every nth image will be copied into the monitor buffer. |
MonitorDiscardNewScalar: DevBoolean | If enabled, the monitor buffer will dicard new images instead of old ones when it`s filled. |
MonitorPixelMaskScalar: DevBoolean | Whether the pixel mask will be applied on the monitor image. |
MonitorGainModeDecodingScalar: DevBoolean | Whether the pedestals will be substracted and gain modes decoded on the monitor image. |
MonitorGeometryCorrectionScalar: DevBoolean | Whether module and submodule gaps will be inserted to the monitor image. |
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. |
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. |
StreamUpdateIntervalScalar: DevFloat | Interval after which the current image will be streamed out. Default is 500 ms. Only active if StreamDivider is set to 0. |
DetectorTypeScalar: DevString | Detector type indentifier. |
DetectorSerialNumberScalar: DevString | Serial numbers of the detector modules. |
DetectorFirmwareVersionScalar: DevString | Firmware versions of the detector modules. |
SoftwareClientVersionScalar: DevString | Version of the Detector library object this Tango server is linked against. |
SoftwareKernelVersionScalar: DevString | Version of the slsDetectorPackage this Tango server is linked against. |
SoftwareReceiverVersionScalar: DevString | Version of the Receiver library object this Tango server is linked against. |
TemperatureSpectrum: DevFloat | — |
GainMap0Image: DevDouble | — |
GainMap1Image: DevDouble | — |
GainMap2Image: DevDouble | — |
PedestalG0Image: DevDouble | — |
PedestalG1Image: DevDouble | — |
PedestalG2Image: DevDouble | — |
PixelMaskImage: DevUChar | — |
MonitorImage: DevULong | — |
Commands:
Name | Description |
---|---|
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. |
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. |
StartInput: DevVoid Output: DevVoid |
Starts a data acquisition. Internally calls the acquire command. |
StopInput: DevVoid Output: DevVoid |
Abort detector acquisition. Internally calls the stopDetector command. |
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. |
ClearMonitorBufferInput: DevVoid Output: DevVoid |
Clears the monitor buffer. |
Pipes:
Properties:
Name | Description |
---|---|
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. |
ConfigurationPathDevString | Config file for Detector and Receiver objects from the slsDetectorPackage. |
GainMapPathArray of DevString | Gain map files for each module. |
PixelMaskPathArray of DevString | — |
Please log in to comment.
README
b'### Note\n\nPlease do not update to any xxxx.xx.xx.dev0 tags. They are not releases, but tags for internal usage.\nUse only releases with tags such as x.x.x or x.x.x-rcx.\n\n### Documentation\n##### 5.0.0 - Latest Release\nDetailed documentation on the latest release can be found in the software wiki and on the official site.\n\n##### Older Releases\nDocumentation is found in the package.\n\n### Binaries\nBinaries for the slsDetectorPackage are available through conda. \n\n#Add conda channels\nconda config --add channels conda-forge\nconda config --add channels slsdetectorgroup\nconda config --set channel_priority strict\n\nconda install slsdetlib #only shared lib and command line\nconda install slsdet #python bindings (includes slsdetlib)\nconda install slsdetgui #gui (includes qt4)\n\n#Install specific version\nconda install slsdet=2020.03.02.dev0 #developer version from 3 March 2020\n\n
\n\n### Source code\nOne can also obtain the source code from this repository and compile.\n\ngit clone https://github.com/slsdetectorgroup/slsDetectorPackage.git\n\n
\n#### Dependencies \n\nRefer this page for dependencies.\n\n\n#### Compilation \n\nCompiling can be done in two ways. Either with the convenience script\ncmk.sh or directly with cmake for more control.\n\n1. Compile using script cmk.sh
\n\nThese are mainly aimed at those not familiar with using ccmake and cmake. \n\n The binaries are generated in slsDetectorPackage/build/bin directory.\n\n 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>]\n -[no option]: only make\n -c: Clean\n -b: Builds/Rebuilds CMake files normal mode\n -p: Builds/Rebuilds Python API\n -h: Builds/Rebuilds Cmake files with HDF5 package\n -d: HDF5 Custom Directory\n -k: CMake command\n -l: Install directory\n -t: Build/Rebuilds only text client\n -r: Build/Rebuilds only receiver\n -g: Build/Rebuilds only gui\n -s: Simulator\n -u: Chip Test Gui\n -j: Number of threads to compile through\n -e: Debug mode\n -i: Builds tests\n -m: Manuals\n -n: Manuals without compiling doxygen (only rst)\n -z: Moench zmq processor\n\n \n # get all options\n ./cmk.sh -?\n\n # new build and compile in parallel:\n ./cmk.sh -bj5\n
\n \n2. Compile without script
\nUse 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.\n\n $ mkdir build\n $ cd build\n $ cmake ../slsDetectorPackage -DCMAKE_BUILD_TYPE=Debug -DSLS_USE_SANITIZER=ON\n $ make -j12 #or whatever number of threads wanted\n
\n\nTo install binaries using CMake\n\n git clone --recursive https://github.com/slsdetectorgroup/slsDetectorPackage.git\n mkdir build && cd build\n cmake ../slsDetectorPackage -DCMAKE_INSTALL_PREFIX=/your/install/path\n make -j12 #or whatever number of cores you are using to build\n make install\n
\n\n\n### Support\n dhanya.thattil@psi.ch\n erik.frojdh@psi.ch'
Updated:
The device class has been updated.
You can see previous version here .
27 Aug 2022, DS Admin
Updated:
The device class has been updated.
You can see previous version here .
20 Aug 2022, DS Admin
Updated:
The device class has been updated.
You can see previous version here .
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.