tttrlib
A library for time-tagged time resolved data
Loading...
Searching...
No Matches
TTTRHeaderTypes.h
Go to the documentation of this file.
1#ifndef TTTRLIB_TTTRHEADERTYPES_H
2#define TTTRLIB_TTTRHEADERTYPES_H
3
4#include <cstdint> // int32, uint32, etc.
5
6
7// Definitions used in PTU header and JSON dictionary
8#define tyEmpty8 0xFFFF0008
9#define tyBool8 0x00000008
10#define tyInt8 0x10000008
11#define tyBitSet64 0x11000008
12#define tyColor8 0x12000008
13#define tyFloat8 0x20000008
14#define tyTDateTime 0x21000008
15#define tyFloat8Array 0x2001FFFF
16#define tyAnsiString 0x4001FFFF
17#define tyWideString 0x4002FFFF
18#define tyBinaryBlob 0xFFFFFFFF
19
20#define rtPicoHarpT3 0x00010303 // (SubID = $00 ,RecFmt: $01) (V1), T-Mode: $03 (T3), HW: $03 (PicoHarp)
21#define rtPicoHarpT2 0x00010203 // (SubID = $00 ,RecFmt: $01) (V1), T-Mode: $02 (T2), HW: $03 (PicoHarp)
22#define rtHydraHarpT3 0x00010304 // (SubID = $00 ,RecFmt: $01) (V1), T-Mode: $03 (T3), HW: $04 (HydraHarp)
23#define rtHydraHarpT2 0x00010204 // (SubID = $00 ,RecFmt: $01) (V1), T-Mode: $02 (T2), HW: $04 (HydraHarp)
24#define rtHydraHarp2T3 0x01010304 // (SubID = $01 ,RecFmt: $01) (V2), T-Mode: $03 (T3), HW: $04 (HydraHarp)
25#define rtHydraHarp2T2 0x01010204 // (SubID = $01 ,RecFmt: $01) (V2), T-Mode: $02 (T2), HW: $04 (HydraHarp)
26#define rtTimeHarp260NT3 0x00010305 // (SubID = $00 ,RecFmt: $01) (V2), T-Mode: $03 (T3), HW: $05 (TimeHarp260N)
27#define rtTimeHarp260NT2 0x00010205 // (SubID = $00 ,RecFmt: $01) (V2), T-Mode: $02 (T2), HW: $05 (TimeHarp260N)
28#define rtTimeHarp260PT3 0x00010306 // (SubID = $00 ,RecFmt: $01) (V1), T-Mode: $02 (T3), HW: $06 (TimeHarp260P)
29#define rtTimeHarp260PT2 0x00010206 // (SubID = $00 ,RecFmt: $01) (V1), T-Mode: $02 (T2), HW: $06 (TimeHarp260P)
30#define rtMultiHarpT3 0x00010307 // (SubID = $00 ,RecFmt: $01) (V1), T-Mode: $02 (T3), HW: $07 (MultiHarp)
31#define rtMultiHarpT2 0x00010207 // (SubID = $00 ,RecFmt: $01) (V1), T-Mode: $02 (T2), HW: $07 (MultiHarp)
32
33// tttrlib internal container identifier definitions
34#define PQ_PTU_CONTAINER 0
35#define PQ_HT3_CONTAINER 1
36#define BH_SPC130_CONTAINER 2
37#define BH_SPC600_256_CONTAINER 3
38#define BH_SPC600_4096_CONTAINER 4
39#define PHOTON_HDF_CONTAINER 5
40#define CZ_CONFOCOR3_CONTAINER 6
41
42// tttrlib record type identifier definitions
43#define PQ_RECORD_TYPE_HHT2v2 1
44#define PQ_RECORD_TYPE_HHT2v1 2
45#define PQ_RECORD_TYPE_HHT3v1 3
46#define PQ_RECORD_TYPE_HHT3v2 4
47#define PQ_RECORD_TYPE_PHT3 5
48#define PQ_RECORD_TYPE_PHT2 6
49#define BH_RECORD_TYPE_SPC130 7
50#define BH_RECORD_TYPE_SPC600_256 8
51#define BH_RECORD_TYPE_SPC600_4096 9
52#define CZ_RECORD_TYPE_CONFOCOR3 10
53
54
55/*
56 * PicoQuant HT3 file definitions
57 */
58
59typedef struct {
60 int32_t MapTo;
61 int32_t Show;
63
64typedef struct {
65 float Start;
66 float Step;
67 float End;
69
70typedef struct{
71 int32_t ModelCode;
72 int32_t VersionCode;
74
76typedef struct {
77 char Ident[16]; //"PicoHarp 300"
78 char FormatVersion[6]; //file format version
79 char CreatorName[18]; //name of creating software
80 char CreatorVersion[12]; //version of creating software
81 char FileTime[18];
82 char CRLF[2];
83 char CommentField[256];
86 int32_t ActiveCurve;
88 int32_t SubMode;
89 int32_t Binning;
90 double Resolution; // in ps
91 int32_t Offset;
93 uint32_t StopAt;
94 int32_t StopOnOvfl;
95 int32_t Restart;
96 int32_t DispLinLog;
97 int32_t DispTimeFrom;
98 int32_t DispTimeTo;
101 CurveMapping_t DispCurves[8];
102 ParamStruct_t Params[3];
103 int32_t RepeatMode;
105 int32_t RepeatTime;
107 char ScriptName[20];
108 char HardwareIdent[16];
109 char HardwareVersion[8];
112 pq_ht3_board_settings_t HardwareModel[10];
117 int32_t ExtDevices;
119 int32_t SyncDivider;
122 int32_t SyncOffset;
124
132
133typedef struct {
134 int32_t SyncRate;
135 int32_t StopAfter;
136 int32_t StopReason;
137 int32_t ImgHdrSize;
138 uint64_t nRecords;
140
141
144 uint32_t allbits;
145 struct{
146 char Ident[52];
147 char dummy1[11];
148 unsigned channel :8;
149 // 64 byte
150 uint32_t measure_id[4]; // 16
151 uint32_t measurement_position; // 8
152 uint32_t kinetic_index; // 8
153 uint32_t repetition_number; // 8
154 uint32_t frequency; // 8
155 char dummy2[32]; //32
156 // 64 + 64 byte
159
160
162typedef union bh_spc132_header{
163 uint32_t allbits;
164 struct{
165 unsigned macro_time_clock :24; // the resolution of the macro time
166 unsigned unused :7; // unclear usage
167 bool invalid :1; // true if dataset is marked as invalid
170
171
173typedef struct tag_head {
174 char Ident[32]; // Identifier of the tag
175 int Idx; // Index for multiple tags or -1
176 uint32_t Typ; // Type of tag ty..... see const section
177 uint64_t TagValue; // Value of tag.
179
180
181#endif //TTTRLIB_TTTRHEADERTYPES_H
struct tag_head tag_head_t
A Header Tag entry of a PTU file.
union bh_spc132_header bh_spc132_header_t
Becker&Hickl SPC132 Header.
union cz_confocor3_settings cz_confocor3_settings_t
Carl Zeiss Confocor3 raw data.
Definition TTTRHeaderTypes.h:59
int32_t Show
Definition TTTRHeaderTypes.h:61
int32_t MapTo
Definition TTTRHeaderTypes.h:60
Definition TTTRHeaderTypes.h:64
float End
Definition TTTRHeaderTypes.h:67
float Step
Definition TTTRHeaderTypes.h:66
float Start
Definition TTTRHeaderTypes.h:65
Definition TTTRHeaderTypes.h:125
int32_t InputRate
Definition TTTRHeaderTypes.h:130
int32_t InputOffset
Definition TTTRHeaderTypes.h:129
int32_t InputCFDZeroCross
Definition TTTRHeaderTypes.h:128
int32_t InputCFDLevel
Definition TTTRHeaderTypes.h:127
int32_t InputModuleIndex
Definition TTTRHeaderTypes.h:126
The following represents the readable ASCII file header portion in a HT3 file.
Definition TTTRHeaderTypes.h:76
int32_t StopOnOvfl
Definition TTTRHeaderTypes.h:94
int32_t NumberOfCurves
Definition TTTRHeaderTypes.h:84
double BaseResolution
Definition TTTRHeaderTypes.h:113
int32_t MeasurementMode
Definition TTTRHeaderTypes.h:87
int32_t MarkerSettings
Definition TTTRHeaderTypes.h:118
int32_t nModulesPresent
Definition TTTRHeaderTypes.h:111
int32_t DispTimeFrom
Definition TTTRHeaderTypes.h:97
int32_t SubMode
Definition TTTRHeaderTypes.h:88
int32_t AquisitionTime
Definition TTTRHeaderTypes.h:92
int32_t SyncCFDZeroCross
Definition TTTRHeaderTypes.h:121
int32_t Binning
Definition TTTRHeaderTypes.h:89
int32_t BitsPerRecord
Definition TTTRHeaderTypes.h:85
int32_t Offset
Definition TTTRHeaderTypes.h:91
int32_t DispLinLog
Definition TTTRHeaderTypes.h:96
int32_t ActiveCurve
Definition TTTRHeaderTypes.h:86
int32_t DispTimeTo
Definition TTTRHeaderTypes.h:98
int32_t HardwareSerial
Definition TTTRHeaderTypes.h:110
int32_t ExtDevices
Definition TTTRHeaderTypes.h:117
int32_t DispCountsFrom
Definition TTTRHeaderTypes.h:99
int32_t SyncCFDLevel
Definition TTTRHeaderTypes.h:120
int64_t InputsEnabled
Definition TTTRHeaderTypes.h:114
int32_t RepeatMode
Definition TTTRHeaderTypes.h:103
int32_t Restart
Definition TTTRHeaderTypes.h:95
uint32_t StopAt
Definition TTTRHeaderTypes.h:93
int32_t RepeatWaitTime
Definition TTTRHeaderTypes.h:106
int32_t SyncDivider
Definition TTTRHeaderTypes.h:119
int32_t InpChansPresent
Definition TTTRHeaderTypes.h:115
int32_t RepeatsPerCurve
Definition TTTRHeaderTypes.h:104
int32_t DispCountsTo
Definition TTTRHeaderTypes.h:100
int32_t SyncOffset
Definition TTTRHeaderTypes.h:122
int32_t RefClockSource
Definition TTTRHeaderTypes.h:116
int32_t RepeatTime
Definition TTTRHeaderTypes.h:105
double Resolution
Definition TTTRHeaderTypes.h:90
Definition TTTRHeaderTypes.h:133
int32_t StopReason
Definition TTTRHeaderTypes.h:136
int32_t ImgHdrSize
Definition TTTRHeaderTypes.h:137
int32_t StopAfter
Definition TTTRHeaderTypes.h:135
int32_t SyncRate
Definition TTTRHeaderTypes.h:134
uint64_t nRecords
Definition TTTRHeaderTypes.h:138
Definition TTTRHeaderTypes.h:70
int32_t ModelCode
Definition TTTRHeaderTypes.h:71
int32_t VersionCode
Definition TTTRHeaderTypes.h:72
A Header Tag entry of a PTU file.
Definition TTTRHeaderTypes.h:173
uint32_t Typ
Definition TTTRHeaderTypes.h:176
char Ident[32]
Definition TTTRHeaderTypes.h:174
int Idx
Definition TTTRHeaderTypes.h:175
uint64_t TagValue
Definition TTTRHeaderTypes.h:177
Becker&Hickl SPC132 Header.
Definition TTTRHeaderTypes.h:162
struct bh_spc132_header::@1 bits
uint32_t allbits
Definition TTTRHeaderTypes.h:163
bool invalid
Definition TTTRHeaderTypes.h:167
unsigned unused
Definition TTTRHeaderTypes.h:166
unsigned macro_time_clock
Definition TTTRHeaderTypes.h:165
Carl Zeiss Confocor3 raw data.
Definition TTTRHeaderTypes.h:143
uint32_t kinetic_index
Definition TTTRHeaderTypes.h:152
unsigned channel
Definition TTTRHeaderTypes.h:148
uint32_t measurement_position
Definition TTTRHeaderTypes.h:151
uint32_t frequency
Definition TTTRHeaderTypes.h:154
uint32_t repetition_number
Definition TTTRHeaderTypes.h:153
uint32_t measure_id[4]
Definition TTTRHeaderTypes.h:150
uint32_t allbits
Definition TTTRHeaderTypes.h:144
struct cz_confocor3_settings::@0 bits
char Ident[52]
Definition TTTRHeaderTypes.h:146
char dummy1[11]
Definition TTTRHeaderTypes.h:147
char dummy2[32]
Definition TTTRHeaderTypes.h:155