Files
Jungfraujoch/common/Definitions.h
2025-09-21 19:27:51 +02:00

56 lines
1.6 KiB
C++

// SPDX-FileCopyrightText: 2024 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#ifndef DEFINITIONS_H
#define DEFINITIONS_H
#include "../fpga/pcie_driver/jfjoch_fpga.h"
#include <array>
#define WVL_1A_IN_KEV 12.39854f
#define CONVERTED_MODULE_LINES (514L)
#define CONVERTED_MODULE_COLS (1030L)
#define CONVERTED_MODULE_SIZE (CONVERTED_MODULE_LINES * CONVERTED_MODULE_COLS)
#define JUNGFRAU_PACKET_SIZE_BYTES (8192)
#define MIN_FRAME_TIME_JUNGFRAU_HALF_SPEED_IN_US 1000
#define MIN_FRAME_TIME_JUNGFRAU_FULL_SPEED_IN_US 470
#define MIN_FRAME_TIME_EIGER_IN_US 250
#define MAX_COUNT_TIME_JUNGFRAU_IN_US 2000
#define MIN_COUNT_TIME_IN_US 3
#define MIN_STORAGE_CELL_DELAY_IN_NS 2100
#define MIN_ENERGY 0.001
#define MAX_ENERGY 500.0
#define FRAME_TIME_PEDE_G1G2_IN_US (10*1000)
#define DEFAULT_G0_FACTOR (41.0)
#define DEFAULT_G1_FACTOR (-1.439)
#define DEFAULT_G2_FACTOR (-0.1145)
#define DEFAULT_HG0_FACTOR (100.0)
#define MAX_SPOT_COUNT (2000)
#define MASK_PEDESTAL_G0_RMS_LIMIT (1U<<4)
#define PEDESTAL_MIN_IMAGE_COUNT 128
#define PEDESTAL_WRONG (UINT16_MAX)
#define PEDESTAL_G0_WRONG_GAIN_ALLOWED_COUNT 2
#define MESSAGE_SIZE_FOR_START_END (256*1024*1024) // pessimistic highest value
#define LAB6_CELL_A 4.156468f
// Ice ring resolution taken from:
// Moreau, Atakisi, Thorne, Acta Cryst D77, 2021, 540,554
// https://journals.iucr.org/d/issues/2021/04/00/tz5104/index.html
constexpr std::array<float, 11> ICE_RING_RES_A = {3.895, 3.661, 3.438, 2.667, 2.249, 2.068, 1.947, 1.916, 1.882, 1.719, 1.522};
#endif //DEFINITIONS_H