tttrlib
A library for time-tagged time resolved data
Loading...
Searching...
No Matches
TTTRRecordTypes.h
Go to the documentation of this file.
1#ifndef TTTRLIB_TTTRRECORDTYPES_H
2#define TTTRLIB_TTTRRECORDTYPES_H
3
4#include <cstdint>
5
6
7// HydraHarp/TimeHarp260 T2 record
8typedef union pq_hh_t2_record {
9 uint32_t allbits;
10 struct {
11 unsigned timetag :25;
12 unsigned channel :6;
13 unsigned special :1; // or sync, if channel==0
16
17
18// HydraHarp/TimeHarp260 T3 record
19typedef union pq_hh_t3_record {
20 uint32_t allbits;
21 struct {
22 unsigned n_sync :10; // number of sync period
23 unsigned dtime :15; // delay from last sync in units of chosen macrotime_resolution
24 unsigned channel :6;
25 unsigned special :1;
28
29// PicoHarp T2 input
30typedef union ph_ph_t2_record {
31 uint32_t allbits;
32 struct {
33 unsigned time :28;
34 unsigned channel :4;
36
38
39// PicoHarp T3 input
40typedef union pq_ph_t3_record {
41 uint32_t allbits;
42 struct {
43 unsigned n_sync :16;
44 unsigned dtime :12;
45 unsigned channel :4;
48
49
50// Becker Hickl SPC-600/630 256 Channel Mode, regular record
52 uint32_t allbits;
53 struct {
54 unsigned adc :8; //
55 unsigned mt :17;
56 unsigned rout :3;
57 unsigned empty :1;
58 unsigned gap :1;
59 unsigned mtov :1;
60 unsigned invalid :1;
63
64
65// Becker Hickl SPC-600/630 4096 Channel Mode.
66// The information about the subsequent photons is stored one after another in the measurement
67// data file. For each photon 6 bytes are used. The parameter @param adc corresponds to the value of
68// the analog to digital converter and related to the micro time (mt) by
69// mt = (4095 - adc) * TACRange / (TACGain * 4096)
70// @param invalid is true for invalid TTTR records. If invalid is true all data in the record
71// except the mtov bit are invalid. @param mtov marks that a macro timer overflows. In case @param mtov
72// is true 2**24 counts should be added to the overflow counter (the overflow counter counts the
73// number of overflows. @param gap marks possible gaps, e.g., due to FIFO overflows. @param rout
74// provides the (inverted) routing number of the TTTR record.
76 uint32_t allbits;
77 struct {
78 unsigned adc :12;
79 unsigned invalid :1;
80 unsigned mtov :1;
81 unsigned gap :1;
82 unsigned empty :1;
83 unsigned mt3 :8;
84 unsigned rout :8;
85 unsigned mt1 :8;
86 unsigned mt2 :8;
89
90
91// Becker Hickl SPC-130, regular record
92typedef union bh_spc130_record{
93 uint32_t allbits;
94 struct {
95 unsigned mt :12;
96 unsigned rout :4;
97 unsigned adc :12;
98 unsigned mark :1;
99 unsigned gap :1;
100 unsigned mtov :1;
101 unsigned invalid :1;
104
105
106// Becker Hickl SPC-130/600 macro time overflow record
107typedef union bh_overflow{
108 uint32_t allbits;
109 struct {
110 unsigned cnt :28;
111 unsigned empty :2;
112 unsigned mtov :1;
113 unsigned invalid :1;
116
117
118// Carl Zeiss Confocor3 raw dat
120 uint32_t allbits;
121 struct {
122 unsigned mt :32;
125
126#endif //TTTRLIB_TTTRRECORDTYPES_H
union pq_hh_t3_record pq_hh_t3_record_t
union bh_spc600_256_record bh_spc600_256_record_t
union pq_hh_t2_record pq_hh_t2_record_t
union bh_spc130_record bh_spc130_record_t
union cz_confocor3_raw_record cz_confocor3_raw_record_t
union ph_ph_t2_record pq_ph_t2_record_t
union bh_spc600_4096_record bh_spc600_4096_record_t
union bh_overflow bh_overflow_t
union pq_ph_t3_record pq_ph_t3_record_t
Definition TTTRRecordTypes.h:107
unsigned invalid
Definition TTTRRecordTypes.h:113
unsigned empty
Definition TTTRRecordTypes.h:111
uint32_t allbits
Definition TTTRRecordTypes.h:108
unsigned mtov
Definition TTTRRecordTypes.h:112
struct bh_overflow::@9 bits
unsigned cnt
Definition TTTRRecordTypes.h:110
Definition TTTRRecordTypes.h:92
unsigned mt
Definition TTTRRecordTypes.h:95
unsigned invalid
Definition TTTRRecordTypes.h:101
uint32_t allbits
Definition TTTRRecordTypes.h:93
unsigned mark
Definition TTTRRecordTypes.h:98
unsigned gap
Definition TTTRRecordTypes.h:99
unsigned adc
Definition TTTRRecordTypes.h:97
unsigned mtov
Definition TTTRRecordTypes.h:100
unsigned rout
Definition TTTRRecordTypes.h:96
struct bh_spc130_record::@8 bits
Definition TTTRRecordTypes.h:51
unsigned empty
Definition TTTRRecordTypes.h:57
unsigned gap
Definition TTTRRecordTypes.h:58
unsigned adc
Definition TTTRRecordTypes.h:54
unsigned mt
Definition TTTRRecordTypes.h:55
unsigned rout
Definition TTTRRecordTypes.h:56
uint32_t allbits
Definition TTTRRecordTypes.h:52
unsigned invalid
Definition TTTRRecordTypes.h:60
struct bh_spc600_256_record::@6 bits
unsigned mtov
Definition TTTRRecordTypes.h:59
Definition TTTRRecordTypes.h:75
struct bh_spc600_4096_record::@7 bits
unsigned adc
Definition TTTRRecordTypes.h:78
unsigned mt3
Definition TTTRRecordTypes.h:83
unsigned empty
Definition TTTRRecordTypes.h:82
unsigned rout
Definition TTTRRecordTypes.h:84
unsigned mt2
Definition TTTRRecordTypes.h:86
unsigned mt1
Definition TTTRRecordTypes.h:85
unsigned gap
Definition TTTRRecordTypes.h:81
unsigned invalid
Definition TTTRRecordTypes.h:79
unsigned mtov
Definition TTTRRecordTypes.h:80
uint32_t allbits
Definition TTTRRecordTypes.h:76
Definition TTTRRecordTypes.h:119
unsigned mt
Definition TTTRRecordTypes.h:122
uint32_t allbits
Definition TTTRRecordTypes.h:120
struct cz_confocor3_raw_record::@10 bits
Definition TTTRRecordTypes.h:30
struct ph_ph_t2_record::@4 bits
unsigned time
Definition TTTRRecordTypes.h:33
uint32_t allbits
Definition TTTRRecordTypes.h:31
unsigned channel
Definition TTTRRecordTypes.h:34
Definition TTTRRecordTypes.h:8
unsigned timetag
Definition TTTRRecordTypes.h:11
uint32_t allbits
Definition TTTRRecordTypes.h:9
unsigned channel
Definition TTTRRecordTypes.h:12
struct pq_hh_t2_record::@2 bits
unsigned special
Definition TTTRRecordTypes.h:13
Definition TTTRRecordTypes.h:19
unsigned special
Definition TTTRRecordTypes.h:25
unsigned dtime
Definition TTTRRecordTypes.h:23
struct pq_hh_t3_record::@3 bits
unsigned channel
Definition TTTRRecordTypes.h:24
uint32_t allbits
Definition TTTRRecordTypes.h:20
unsigned n_sync
Definition TTTRRecordTypes.h:22
Definition TTTRRecordTypes.h:40
unsigned n_sync
Definition TTTRRecordTypes.h:43
uint32_t allbits
Definition TTTRRecordTypes.h:41
unsigned channel
Definition TTTRRecordTypes.h:45
struct pq_ph_t3_record::@5 bits
unsigned dtime
Definition TTTRRecordTypes.h:44