commonFiles/sls_detector_defs.h File Reference

#include <stdint.h>

Go to the source code of this file.

Classes

struct  sls_detector_channel
struct  sls_detector_chip
struct  sls_detector_module
struct  ROI
struct  iarray
struct  angleConversionConstant

Defines

#define MAX_STR_LENGTH   1000
#define GET_FLAG   -1

Enumerations

enum  detectorType {
  GET_DETECTOR_TYPE, GENERIC, MYTHEN, PILATUS,
  EIGER, GOTTHARD, AGIPD
}
enum  communicationProtocol { TCP, UDP }
enum  numberOf {
  MAXMODX, MAXMODY, NMODX, NMODY,
  NCHANSX, NCHANSY, NCHIPSX, NCHIPSY
}
enum  dimension { X = 0, Y = 1, Z = 2 }
enum  { OK, FAIL, FINISHED }
enum  { DISABLED, ENABLED }
enum  externalSignalFlag {
  GET_EXTERNAL_SIGNAL_FLAG, SIGNAL_OFF, GATE_IN_ACTIVE_HIGH, GATE_IN_ACTIVE_LOW,
  TRIGGER_IN_RISING_EDGE, TRIGGER_IN_FALLING_EDGE, RO_TRIGGER_IN_RISING_EDGE, RO_TRIGGER_IN_FALLING_EDGE,
  GATE_OUT_ACTIVE_HIGH, GATE_OUT_ACTIVE_LOW, TRIGGER_OUT_RISING_EDGE, TRIGGER_OUT_FALLING_EDGE,
  RO_TRIGGER_OUT_RISING_EDGE, RO_TRIGGER_OUT_FALLING_EDGE
}
enum  externalCommunicationMode {
  GET_EXTERNAL_COMMUNICATION_MODE, AUTO, TRIGGER_EXPOSURE, TRIGGER_READOUT,
  TRIGGER_COINCIDENCE_WITH_INTERNAL_ENABLE, GATE_FIX_NUMBER, GATE_FIX_DURATION, GATE_WITH_START_TRIGGER,
  GATE_COINCIDENCE_WITH_INTERNAL_ENABLE
}
enum  idMode {
  MODULE_SERIAL_NUMBER, MODULE_FIRMWARE_VERSION, DETECTOR_SERIAL_NUMBER, DETECTOR_FIRMWARE_VERSION,
  DETECTOR_SOFTWARE_VERSION, THIS_SOFTWARE_VERSION
}
enum  digitalTestMode {
  CHIP_TEST, MODULE_FIRMWARE_TEST, DETECTOR_FIRMWARE_TEST, DETECTOR_MEMORY_TEST,
  DETECTOR_BUS_TEST, DETECTOR_SOFTWARE_TEST
}
enum  analogTestMode { CALIBRATION_PULSES, MY_ANALOG_TEST_MODE }
enum  dacIndex {
  THRESHOLD, CALIBRATION_PULSE, TRIMBIT_SIZE, PREAMP,
  SHAPER1, SHAPER2, TEMPERATURE, HUMIDITY,
  DETECTOR_BIAS
}
enum  detectorSettings {
  GET_SETTINGS = -1, STANDARD, FAST, HIGHGAIN,
  UNDEFINED, UNINITIALIZED
}
enum  channelRegisterBit { TRIMBIT_OFF, COMPARATOR_ENABLE = 0x100, ANALOG_SIGNAL_ENABLE = 0x200, CALIBRATION_ENABLE = 0x300 }
enum  chipRegisterBit { ENABLE_ANALOG_OUTPUT = 0x1, CHIP_OUTPUT_WIDTH = 0x2 }
enum  moduleRegisterBit { MY_MODULE_REGISTER_BIT, MODULE_OUTPUT_WIDTH }
enum  timerIndex {
  FRAME_NUMBER, ACQUISITION_TIME, FRAME_PERIOD, DELAY_AFTER_TRIGGER,
  GATES_NUMBER, PROBES_NUMBER, CYCLES_NUMBER
}
enum  speedVariable { CLOCK_DIVIDER, WAIT_STATES, SET_SIGNAL_LENGTH }
enum  readOutFlags {
  GET_READOUT_FLAGS = -1, NORMAL_READOUT = 0, STORE_IN_RAM = 0x1, READ_HITS = 0x2,
  ZERO_COMPRESSION = 0x4, PUMP_PROBE_MODE = 0x8, BACKGROUND_CORRECTIONS = 0x1000
}
enum  trimMode {
  NOISE_TRIMMING, BEAM_TRIMMING, IMPROVE_TRIMMING, FIXEDSETTINGS_TRIMMING,
  OFFLINE_TRIMMING
}
enum  correctionFlags {
  DISCARD_BAD_CHANNELS, AVERAGE_NEIGHBOURS_FOR_BAD_CHANNELS, FLAT_FIELD_CORRECTION, RATE_CORRECTION,
  ANGULAR_CONVERSION, I0_NORMALIZATION
}
enum  {
  F_EXEC_COMMAND, F_GET_ERROR, F_GET_DETECTOR_TYPE, F_SET_NUMBER_OF_MODULES,
  F_GET_MAX_NUMBER_OF_MODULES, F_SET_EXTERNAL_SIGNAL_FLAG, F_SET_EXTERNAL_COMMUNICATION_MODE, F_GET_ID,
  F_DIGITAL_TEST, F_ANALOG_TEST, F_ENABLE_ANALOG_OUT, F_CALIBRATION_PULSE,
  F_SET_DAC, F_GET_ADC, F_WRITE_REGISTER, F_READ_REGISTER,
  F_WRITE_MEMORY, F_READ_MEMORY, F_SET_CHANNEL, F_GET_CHANNEL,
  F_SET_ALL_CHANNELS, F_SET_CHIP, F_GET_CHIP, F_SET_ALL_CHIPS,
  F_SET_MODULE, F_GET_MODULE, F_SET_ALL_MODULES, F_SET_SETTINGS,
  F_GET_THRESHOLD_ENERGY, F_SET_THRESHOLD_ENERGY, F_START_ACQUISITION, F_STOP_ACQUISITION,
  F_START_READOUT, F_GET_RUN_STATUS, F_START_AND_READ_ALL, F_READ_FRAME,
  F_READ_ALL, F_SET_TIMER, F_GET_TIME_LEFT, F_SET_DYNAMIC_RANGE,
  F_SET_READOUT_FLAGS, F_SET_ROI, F_SET_SPEED, F_EXECUTE_TRIMMING,
  F_EXIT_SERVER
}


Detailed Description

This file contains all the basic definitions common to the slsDetector class and to the server programs running on the detector

Author:
Anna Bergamaschi
Version:
0.1alpha (any string)
See also:
slsDetector

Define Documentation

#define GET_FLAG   -1

get flag form most functions

#define MAX_STR_LENGTH   1000

default maximum string length


Enumeration Type Documentation

anonymous enum

return values

Enumerator:
OK  function succeeded
FAIL  function failed
FINISHED  function failed

anonymous enum

enable/disable flags

Enumerator:
DISABLED  flag disabled
ENABLED  flag enabled

anonymous enum

function indexes to call on the server

All set functions with argument -1 work as get, when possible

Enumerator:
F_EXEC_COMMAND  command is executed
F_GET_ERROR  return detector error status
F_GET_DETECTOR_TYPE  return detector type
F_SET_NUMBER_OF_MODULES  set/get number of installed modules
F_GET_MAX_NUMBER_OF_MODULES  get maximum number of installed modules
F_SET_EXTERNAL_SIGNAL_FLAG  set/get flag for external signal
F_SET_EXTERNAL_COMMUNICATION_MODE  set/get external communication mode (obsolete)
F_GET_ID  get detector id of version
F_DIGITAL_TEST  digital test of the detector
F_ANALOG_TEST  analog test of the detector
F_ENABLE_ANALOG_OUT  enable the analog output
F_CALIBRATION_PULSE  pulse the calibration input
F_SET_DAC  set DAC value
F_GET_ADC  get ADC value
F_WRITE_REGISTER  write to register
F_READ_REGISTER  read register
F_WRITE_MEMORY  write to memory
F_READ_MEMORY  read memory
F_SET_CHANNEL  initialize channel
F_GET_CHANNEL  get channel register
F_SET_ALL_CHANNELS  initialize all channels
F_SET_CHIP  initialize chip
F_GET_CHIP  get chip status
F_SET_ALL_CHIPS  initialize all chips
F_SET_MODULE  initialize module
F_GET_MODULE  get module status
F_SET_ALL_MODULES  initialize all modules
F_SET_SETTINGS  set detector settings
F_GET_THRESHOLD_ENERGY  get detector threshold (in eV)
F_SET_THRESHOLD_ENERGY  set detector threshold (in eV)
F_START_ACQUISITION  start acquisition
F_STOP_ACQUISITION  stop acquisition
F_START_READOUT  start readout
F_GET_RUN_STATUS  get acquisition status
F_START_AND_READ_ALL  start acquisition and read all frames
F_READ_FRAME  read one frame
F_READ_ALL  read alla frames
F_SET_TIMER  set/get timer value
F_GET_TIME_LEFT  get current value of the timer (time left)
F_SET_DYNAMIC_RANGE  set/get detector dynamic range
F_SET_READOUT_FLAGS  set/get readout flags
F_SET_ROI  set/get region of interest
F_SET_SPEED  set/get readout speed parameters
F_EXECUTE_TRIMMING  execute trimming
F_EXIT_SERVER  turnoff detector server

enum analogTestMode

detector analogue test modes

Enumerator:
CALIBRATION_PULSES  test using calibration pulses
MY_ANALOG_TEST_MODE  other possible test modes

enum channelRegisterBit

meaning of the channel register bits

See also:
sls_detector_channel
Enumerator:
TRIMBIT_OFF  offset of trimbit value in the channel register
COMPARATOR_ENABLE  mask of the comparator enable bit
ANALOG_SIGNAL_ENABLE  mask of the analogue output enable bit
CALIBRATION_ENABLE  mask of the calibration input enable bit

enum chipRegisterBit

meaning of the chip register bits

See also:
sls_detector_chip
Enumerator:
ENABLE_ANALOG_OUTPUT  mask of the analogue output enable bit
CHIP_OUTPUT_WIDTH  mask of the chip output width

enum communicationProtocol

Communication protocol (normally TCP)

Enumerator:
TCP  TCP/IP
UDP  UDP

enum correctionFlags

data correction flags

Enumerator:
DISCARD_BAD_CHANNELS  bad channels are discarded
AVERAGE_NEIGHBOURS_FOR_BAD_CHANNELS  bad channels are replaced with the avergae of the neighbours
FLAT_FIELD_CORRECTION  data are flat field corrected
RATE_CORRECTION  data are rate corrected
ANGULAR_CONVERSION  angular conversion is calculated
I0_NORMALIZATION 

enum dacIndex

detector dacs indexes

Enumerator:
THRESHOLD  comparator threshold level
CALIBRATION_PULSE  calibration input pulse height
TRIMBIT_SIZE  voltage to determine the trimbits LSB
PREAMP  preamp feedback
SHAPER1  shaper1 feedback
SHAPER2  shaper2 feedback
TEMPERATURE  temperature sensor (adc)
HUMIDITY  humidity sensor (adc)
DETECTOR_BIAS  detector bias

enum detectorSettings

detector settings indexes

Enumerator:
GET_SETTINGS  return current detector settings
STANDARD  standard settings
FAST  fast settings
HIGHGAIN  highgain settings
UNDEFINED  undefined or custom settings
UNINITIALIZED  uninitialiazed (status at startup)

enum detectorType

Type of the detector

Enumerator:
GET_DETECTOR_TYPE  the detector will return its type
GENERIC  generic sls detector
MYTHEN  mythen
PILATUS  pilatus
EIGER  eiger
GOTTHARD  gotthard
AGIPD  agipd

enum digitalTestMode

detector digital test modes

Enumerator:
CHIP_TEST  test chips
MODULE_FIRMWARE_TEST  test module firmware
DETECTOR_FIRMWARE_TEST  test detector system firmware
DETECTOR_MEMORY_TEST  test detector system memory
DETECTOR_BUS_TEST  test detector system CPU-FPGA bus
DETECTOR_SOFTWARE_TEST  test detector system software

enum dimension

dimension indexes

Enumerator:
X  X dimension
Y  Y dimension
Z  Z dimension

enum externalCommunicationMode

communication mode using external signals (obsolete: it will be authomatically determined by the external signal flags)

See also:
externalSignalFlag
Enumerator:
GET_EXTERNAL_COMMUNICATION_MODE 
AUTO 
TRIGGER_EXPOSURE 
TRIGGER_READOUT 
TRIGGER_COINCIDENCE_WITH_INTERNAL_ENABLE 
GATE_FIX_NUMBER 
GATE_FIX_DURATION 
GATE_WITH_START_TRIGGER 
GATE_COINCIDENCE_WITH_INTERNAL_ENABLE 

enum externalSignalFlag

use of the external signals

Enumerator:
GET_EXTERNAL_SIGNAL_FLAG  return flag for signal
SIGNAL_OFF  signal unused
GATE_IN_ACTIVE_HIGH  input gate active high
GATE_IN_ACTIVE_LOW  input gate active low
TRIGGER_IN_RISING_EDGE  input exposure trigger on rising edge
TRIGGER_IN_FALLING_EDGE  input exposure trigger on falling edge
RO_TRIGGER_IN_RISING_EDGE  input raedout trigger on rising edge
RO_TRIGGER_IN_FALLING_EDGE  input readout trigger on falling edge
GATE_OUT_ACTIVE_HIGH  output active high when detector is exposing
GATE_OUT_ACTIVE_LOW  output active low when detector is exposing
TRIGGER_OUT_RISING_EDGE  output trigger rising edge at start of exposure
TRIGGER_OUT_FALLING_EDGE  output trigger falling edge at start of exposure
RO_TRIGGER_OUT_RISING_EDGE  output trigger rising edge at start of readout
RO_TRIGGER_OUT_FALLING_EDGE  output trigger falling edge at start of readout

enum idMode

detector IDs/versions

Enumerator:
MODULE_SERIAL_NUMBER  return module serial number
MODULE_FIRMWARE_VERSION  return module firmware
DETECTOR_SERIAL_NUMBER  return detector system serial number
DETECTOR_FIRMWARE_VERSION  return detector system firmware version
DETECTOR_SOFTWARE_VERSION  return detector system software version
THIS_SOFTWARE_VERSION  return this software version

enum moduleRegisterBit

meaning of the module register bits

Enumerator:
MY_MODULE_REGISTER_BIT  possible module register bit meaning
MODULE_OUTPUT_WIDTH  possibly module dynamic range

enum numberOf

flags to get (or set) the size of the detector

Enumerator:
MAXMODX  maximum number of module in X direction
MAXMODY  maximum number of module in Y direction
NMODX  installed number of module in X direction
NMODY  installed number of module in Y direction
NCHANSX  number of channels in X direction
NCHANSY  number of channels in Y direction
NCHIPSX  number of chips in X direction
NCHIPSY  number of chips in Y direction

enum readOutFlags

readout flags

Enumerator:
GET_READOUT_FLAGS  return readout flags
NORMAL_READOUT  no flag
STORE_IN_RAM  data are stored in ram and sent only after end of acquisition for faster frame rate
READ_HITS  return only the number of the channel which counted ate least one
ZERO_COMPRESSION  returned data are 0-compressed
PUMP_PROBE_MODE  pump-probe mode
BACKGROUND_CORRECTIONS  background corrections

enum speedVariable

important speed parameters

Enumerator:
CLOCK_DIVIDER  readout clock divider
WAIT_STATES  wait states for bus read
SET_SIGNAL_LENGTH  set/clear signal length

enum timerIndex

indexes for the acquisition timers

Enumerator:
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

enum trimMode

trimming modes

Enumerator:
NOISE_TRIMMING  trim with noise
BEAM_TRIMMING  trim with x-rays (on all 63 bits)
IMPROVE_TRIMMING  trim with x-rays (on a limited range of bits - should start from an already trimmed mode)
FIXEDSETTINGS_TRIMMING  trim without optimizing the threshold and the trimbit size
OFFLINE_TRIMMING  trimming is performed offline


Generated on Tue Dec 1 15:31:44 2009 by  doxygen 1.4.7