#pragma once #ifdef __CINT__ #define MYROOT #define __cplusplus #endif #include #ifdef __cplusplus #include #endif #include "ansi.h" typedef double double32_t; typedef float float32_t; typedef int int32_t; /** default maximum string length */ #define MAX_STR_LENGTH 1000 #define MAX_FRAMES_PER_FILE 20000 #define SHORT_MAX_FRAMES_PER_FILE 100000 #define MOENCH_MAX_FRAMES_PER_FILE 1000 #define EIGER_MAX_FRAMES_PER_FILE 2000 #define JFRAU_MAX_FRAMES_PER_FILE 10000 #define JFCTB_MAX_FRAMES_PER_FILE 100000 #define DEFAULT_STREAMING_TIMER_IN_MS 200 /** default ports */ #define DEFAULT_PORTNO 1952 #define DEFAULT_UDP_PORTNO 50001 #define DEFAULT_GUI_PORTNO 65001 #define DEFAULT_ZMQ_CL_PORTNO 30001 #define DEFAULT_ZMQ_RX_PORTNO 30001 #define SLS_DETECTOR_HEADER_VERSION 0x1 #define SLS_DETECTOR_JSON_HEADER_VERSION 0x2 /** \file sls_receiver_defs.h This file contains all the basic definitions common to the slsReceiver class and to the server programs running on the receiver * @author Anna Bergamaschi * @version 0.1alpha (any string) * @see slsDetector $Revision: 809 $ */ #ifdef __cplusplus /** @short class containing all the constants and enum definitions */ class slsReceiverDefs { public: slsReceiverDefs(){}; #endif /** Type of the detector */ enum detectorType { GET_DETECTOR_TYPE=-1, /**< the detector will return its type */ GENERIC, /**< generic sls detector */ MYTHEN, /**< mythen */ PILATUS, /**< pilatus */ EIGER, /**< eiger */ GOTTHARD, /**< gotthard */ PICASSO, /**< picasso */ AGIPD, /**< agipd */ MOENCH, /**< moench */ JUNGFRAU, /**< jungfrau */ JUNGFRAUCTB, /**< jungfrauCTBversion */ PROPIX, /**< propix */ MYTHEN3 /**< mythen 3 */ }; /** return values */ enum { OK, /**< function succeeded */ FAIL, /**< function failed */ FINISHED, /**< acquisition finished */ FORCE_UPDATE }; /** indexes for the acquisition timers */ enum timerIndex { FRAME_NUMBER, /**< number of real time frames: total number of acquisitions is number or frames*number of cycles */ ACQUISITION_TIME, /**< exposure time */ FRAME_PERIOD, /**< period between exposures */ DELAY_AFTER_TRIGGER, /**< delay between trigger and start of exposure or readout (in triggered mode) */ GATES_NUMBER, /**< number of gates per frame (in gated mode) */ PROBES_NUMBER, /**< number of probe types in pump-probe mode */ CYCLES_NUMBER, /**< number of cycles: total number of acquisitions is number or frames*number of cycles */ ACTUAL_TIME, /**< Actual time of the detector's internal timer */ MEASUREMENT_TIME, /**< Time of the measurement from the detector (fifo) */ PROGRESS, /**< fraction of measurement elapsed - only get! */ MEASUREMENTS_NUMBER, FRAMES_FROM_START, FRAMES_FROM_START_PG, SAMPLES_JCTB, SUBFRAME_ACQUISITION_TIME, /**< subframe exposure time */ STORAGE_CELL_NUMBER, /**