## PicoQuant Unified Tag Dictionary

(V1.1.05 as valid at 2023-11-03 14:17:25)

Field Identifier | Indexed | Field Type | File Types | Loading | Oblig. | Remarks
`<File Preamble 1 (no tag)>` | no | `Preamble` | `all` | std. | mand. | File Magic e.g. "`PQTTTR`", "`PQRESLT`" or "`PQCOMNT`" filled up with char(0)
`<File Preamble 2 (no tag)>` | no | `Preamble` | `all` | std. | mand. | Format Version
`<File Header>` |  | `` | `` |  |  |
`File_GUID` | no | `AnsiString` | `all` | fast | mand. | Used as global identifier for all kind of tagged files; Given in standard Windows GUID format: {%8.8X-%4.4X-%4.4X-%4.4X-%12.12X}
`File_DictVersionIdent` | no | `AnsiString` | `all` | std. | opt. | Just an optional declaration
`File_AssuredContent` | no | `AnsiString` | `PHU, PTU` | fast | opt. | for Harps SW: fast content classification; <TCSPC-Type> followed by content groups included; e.g. 'PicoHarp 300: HWSETG SWSETG BinDATA'
`File_Comment` | no | `AnsiString` | `all` | fast | opt. | File Comment (ANSI string)
`File_Comment` | no | `WideString` | `all` | fast | opt. | File Comment (wide string)
`File_CreatingTime` | no | `AnsiString` | `all` | fast | opt. | Date and Time the File was created (ANSI string); (strongly recommended to use ISO8601 format YYYY-MM-DDThh:mm:ss)
`File_CreatingTime` | no | `TDateTime` | `all` | fast | opt. | Date and Time the File was created (TDateTime); (prefer this format)
`File_ParentResult_GUID` | `0…2147483646` | `AnsiString` | `PCO, PHU, PQRES` | fast | opt. | Used as global Identifier for underlying result files; Given in standard Windows GUID format: {%8.8X-%4.4X-%4.4X-%4.4X-%12.12X}
`File_RawData_GUID` | `0…2147483646` | `AnsiString` | `PCO, PCK, PQRES, PTU` | fast | opt. | Used as global Identifier for underlying raw data files; Given in standard Windows GUID format: {%8.8X-%4.4X-%4.4X-%4.4X-%12.12X} PTU: e.g. if raw data file was cropped by use of PTUCutter.exe
`File_EditedBy` | no | `AnsiString` | `PFS, PUS` | std. | opt. | Identifies the last person who edited this file
`Measurement_Mode` | no | `Int8` | `PHU, PTU` | fast | mand. | Kind of TCSPC Measurement PHU: 0 = Histogram mode; 8 = "ContiMode" PTU: 2 = T2 mode; 3 = T3 mode
`Measurement_SubMode` | no | `Int8` | `PHU, PTU` | fast | mand. | Kind of Measurement PHU: 0 = Oscilloscope mode; 1 = Integrating mode; 2 = TRES; 3 = SEQ mode PTU: 0 or 1 = Point; 2 = Line; 3 = Image
`<Creator Software>` |  | `` | `` |  |  |
`CreatorSW_ContentVersion` | no | `AnsiString` | `PHU, PTU` | fast | opt. | for Harps SW: File Format Version
`CreatorSW_Name` | no | `AnsiString` | `all` | fast | opt. | Name of Software created the file
`CreatorSW_Version` | no | `AnsiString` | `all` | fast | opt. | Version of Software created the file
`CreatorSW_LicenceGUID` | no | `AnsiString` | `all` | std. | opt. | Used as global Identifier for underlying licence; Given in standard Windows GUID format: {%8.8X-%4.4X-%4.4X-%4.4X-%12.12X}
`CreatorSW_Modules` | no | `Int8` | `all` | std. | opt. | Count of the SW modules following (These could be DLLs, PlugIns, drivers, scripts, etc.)
`CreatorSW_ModuleName` | `0…CreatorSW_Modules−1` | `AnsiString` | `all` | std. | opt. | (underliner in symbol for sorting reasons)
`CreatorSW_ModuleVers` | `0…CreatorSW_Modules−1` | `AnsiString` | `all` | std. | opt. | (underliner in symbol for sorting reasons)
`CreatorSW_SVNBuild` | no | `Int8` | `all` | std. | opt. | Build number of the software, that created the file
`<Remote Request Data>` |  | `` | `` |  |  |
`$StartedByRemoteInterface` | no | `Bool8` | `PTU` | fast | opt. | Identifies if received as remote request via TCP/IP
`<Remote Request Header mand.>` |  | `` | `` |  |  |
`$ReqHdr_MeasurementType` | no | `Int8` | `PTU` | std. | opt. | Identifies measurement type: 0: Point; 1: Image; 128: Point Testmeasurement; 129: Image Testmeasurement
`$ReqHdr_PixelNumber_X` | no | `Int8` | `PTU` | std. | opt. | [px]; number of pixels in X as sent in request
`$ReqHdr_PixelNumber_Y` | no | `Int8` | `PTU` | std. | opt. | [px]; number of pixels in Y as sent in request
`$ReqHdr_RecordVersion` | no | `Int8` | `PTU` | std. | opt. | Identifies TCP/IP record format transferred; Currently 1.0.2.0 (i.e. 0x00, 0x02, 0x00, 0x01 on stream)
`$ReqHdr_ScanningPattern` | no | `Int8` | `PTU` | std. | opt. | Scan pattern as sent in request: 0: monodirectional; 1: bi-directional
`$ReqHdr_SpatialResolution` | no | `Float8` | `PTU` | std. | opt. | [m/px]; Pixel width as transfered in request (refers to fast scanning direction)
`<Remote Request Header opt.>` |  | `` | `` |  |  |
`$Comment` | no | `AnsiString` | `PTU` | std. | opt. | Comment as sent in request; May contain linebreaks, though they aren't shown in all presentations (e.g. in tables)
`$Filename` | no | `AnsiString` | `PTU` | std. | opt. | Name for file sent in request
`$Groupname` | no | `AnsiString` | `PTU` | std. | opt. | Name for group measurement as sent in request; Subdirectory with this name is created in current working directory, if not existing
`<Remote Request Header undef.>` |  | `` | `` |  |  |
`$<Ident>` | no | `AnsiString` | `PTU` | std. | opt. | optional remote interface ASCII-string parameter
`$<Ident>` | no | `Float8` | `PTU` | std. | opt. | optional remote interface float parameter
`$<Ident>` | no | `Int8` | `PTU` | std. | opt. | optional remote interface integer parameter
`<Hardware Header>` |  | `` | `` |  |  |
`HW_InpChannels` | no | `Int8` | `PHU, PTU` | std. | opt. | Number of phys. Inputs (without SYNC, e.g. PicoHarp = 1)
`HWInpChan_CFDLevel` | `0…HW_InpChannels−1` | `Int8` | `PHU, PTU` | std. | opt. | [mV]; CFD level for channel
`HWInpChan_CFDZeroCross` | `0…HW_InpChannels−1` | `Int8` | `PHU, PTU` | std. | opt. | [mV]; Zero cross for channel
`HWInpChan_Enabled` | `0…HW_InpChannels−1` | `Bool8` | `PHU, PTU` | std. | opt. | Indicates if channel was enabled on measurement
`HWInpChan_ModuleIdx` | `0…HW_InpChannels−1` | `Int8` | `PHU, PTU` | std. | opt. | for HH400: Indicates on which module the channel is situated
`HWInpChan_Offset` | `0…HW_InpChannels−1` | `Int8` | `PHU, PTU` | std. | opt. | [ps]; Offset for channel
`HWInpChan_TdCode` | `0…HW_InpChannels−1` | `Int8` | `PHU, PTU` | std. | opt. | Deadtime classification
`HWInpChan_TrgEdge` | `0…HW_InpChannels−1` | `Int8` | `PHU, PTU` | std. | opt. | Triggers on 0 = falling edge; 1 = rising edge; (only if not CFD input)
`HWInpChan_TrgLevel` | `0…HW_InpChannels−1` | `Int8` | `PHU, PTU` | std. | opt. | [mV]; trigger level for input channel; (only if not CFD input)
`HWInpChan_TrgMode` | `0…HW_InpChannels−1` | `Int8` | `PHU, PTU` | std. | opt. | Kind of input type (Edge Trigger = 0 vs. CFD = 1; default depends on HW_Type)
`HW_Markers` | no | `Int8` | `PHU, PTU` | std. | opt. | Number of hardware markers
`HWMarkers_Enabled` | `0…HW_Markers−1` | `Bool8` | `PHU, PTU` | std. | opt. | Indicates if marker was enabled on measurement
`HWMarkers_HoldOff` | no | `Int8` | `PHU, PTU` | std. | opt. | [ns]; once for all markers
`HWMarkers_RisingEdge` | `0…HW_Markers−1` | `Bool8` | `PHU, PTU` | std. | opt. | Indicates if the marker was triggered on the rising edge (= TRUE)
`HW_Modules` | no | `Int8` | `PHU, PTU` | std. | opt. | Number of hardware modules of the TCSPC device
`HWModule_TypeCode` | `0…HW_Modules−1` | `Int8` | `PHU, PTU` | std. | opt. | Type code of each hardware module; e.g. PicoHarp: 1000 = digital; 1040 = Analog
`HWModule_VersCode` | `0…HW_Modules−1` | `Int8` | `PHU, PTU` | std. | opt. | Version code of each hardware module (e.g. for PicoHarp coded as BCD)
`HWRouter_Channels` | no | `Int8` | `PHU, PTU` | std. | opt. | Number of routing channels: 4 for all currently supported router models, 0 else; Don't mix-up with RoutingChannels!
`HWRouterChan_CFDLevel` | `0…HWRouter_Channels−1` | `Int8` | `PHU, PTU` | std. | opt. | [mV]; only if CFDPresent
`HWRouterChan_CFDPresent` | `0…HWRouter_Channels−1` | `Bool8` | `PHU, PTU` | std. | opt. |
`HWRouterChan_CFDZeroCross` | `0…HWRouter_Channels−1` | `Int8` | `PHU, PTU` | std. | opt. | [mV]; only if CFDPresent
`HWRouterChan_InputLevel` | `0…HWRouter_Channels−1` | `Int8` | `PHU, PTU` | std. | opt. | [mV]
`HWRouterChan_InputType` | `0…HWRouter_Channels−1` | `Int8` | `PHU, PTU` | std. | opt. | 0 = Custom; 1 = NIM; 2 = TTL
`HWRouterChan_Offset` | `0…HWRouter_Channels−1` | `Int8` | `PHU, PTU` | std. | opt. | [ps]
`HWRouterChan_RisingEdge` | `0…HWRouter_Channels−1` | `Bool8` | `PHU, PTU` | std. | opt. |
`HWRouter_Enabled` | no | `Bool8` | `PHU, PTU` | std. | opt. | Indicates if a router is present and enabled
`HWRouter_ModelCode` | no | `Int8` | `PHU, PTU` | std. | opt. | Model code of Router: 0 = None; 1 = PHR_402; 2 = PHR_403; 3 = PHR_800
`HWRouter_Version` | no | `AnsiString` | `PHU, PTU` | std. | opt. | Version of router
`HWSync_CFDLevel` | no | `Int8` | `PHU, PTU` | std. | opt. | [mV]; CFD level of sync channel
`HWSync_CFDZeroCross` | no | `Int8` | `PHU, PTU` | std. | opt. | [mV]; Zero cross level for sync channel
`HWSync_Divider` | no | `Int8` | `PHU, PTU` | std. | opt. | Sync divider of TCSPC device; (as dividing factor, not as power of two, e.g. 32, not 5)
`HWSync_Offset` | no | `Int8` | `PHU, PTU` | std. | opt. | [ps]; Offset of sync channel
`HWSync_TdCode` | no | `Int8` | `PHU, PTU` | std. | opt. | Deadtime classification
`HWSync_TrgEdge` | no | `Int8` | `PHU, PTU` | std. | opt. | Triggers on 0 = falling edge; 1 = rising edge; (only if not CFD sync input)
`HWSync_TrgLevel` | no | `Int8` | `PHU, PTU` | std. | opt. | [mV]; trigger level for sync input; (only if not CFD sync input)
`HWSync_TrgMode` | no | `Int8` | `PHU, PTU` | std. | opt. | Kind of input type (Edge Trigger = 0 vs. CFD = 1; default depends on HW_Type)
`HWTriggerOut_On` | no | `Bool8` | `PHU, PTU` | std. | opt. |
`HWTriggerOut_Period` | no | `Float8` | `PHU, PTU` | std. | opt. | [s]
`HW_BaseResolution` | no | `Float8` | `PHU, PTU` | std. | opt. | [s]; Base resolution of TCSPC device (not binned resolution of decay time)
`HW_ExternalDevices` | no | `Int8` | `PHU, PTU` | std. | opt. |
`HW_ExternalRefClock` | no | `Bool8` | `PHU, PTU` | std. | opt. |
`HW_Features` | no | `BitSet64` | `PHU, PTU` | std. | opt. | $001 = DLL; $002 = TTTR; $004 = Markers; $008 = low Res.; $010 = Trig.Out.; $020 = prog. DeadTime; $040 = ext FPGA interf.; $080 = prog. hysteresis; $100 = coincidence filtering; $200 = prog. input modes
`HW_InputHysteresis` | no | `Bool8` | `PHU, PTU` | std. | opt. | true = long hysteresis; Value goes for all input channels in common
`HW_PartNo` | no | `AnsiString` | `PHU, PTU` | std. | opt. | Part number of TCSPC device
`HW_RefClockSource` | no | `Int8` | `PHU, PTU` | std. | opt. | Indicates (in coded form), what kind of reference clock was used
`HW_RoutingChannels` | no | `Int8` | `PHU, PTU` | std. | opt. | obsolete now (>= V1.0.00); Equals <HWRouter_Channels> if <HWRouter_Enabled>, 1 else; Don't mix-up with HWRouter_Channels! PHU: deprecated PTU: deprecated
`HW_SerialNo` | no | `AnsiString` | `PHU, PTU` | std. | opt. | Serial number of TCSPC device
`HW_SerialNo` | no | `Int8` | `PHU, PTU` | std. | opt. | only used in converted files: Serial number of TCSPC device
`HW_Timingmode` | no | `Int8` | `PHU, PTU` | std. | opt. | 0 = HiRes; 1 = LoRes; (only used for TH260)
`HW_Type` | no | `AnsiString` | `PHU, PTU` | std. | opt. | Name of TCSPC device; (e.g. "PicoHarp", "HydraHarp", "TimeHarp260N", "TimeHarp260P", "MultiHarp", "PicoHarp330", …)
`HW_Version` | no | `AnsiString` | `PHU, PTU` | std. | opt. | Hardware version of TCSPC device
`<MultiHarp HW-Eventfilter Data>` |  | `` | `` |  |  |
`HW_MainFiltChan_Pass` | `0…HW_InpChannels−1` | `Bool8` | `PTU` | std. | opt. | Indicates if events from this channel are passed through the filter
`HW_MainFiltChan_Used` | `0…HW_InpChannels−1` | `Bool8` | `PTU` | std. | opt. | Indicates if this channel is used in the filter
`HW_MainFiltSync_Pass` | no | `Bool8` | `PTU` | std. | opt. | Indicates if events from the SYNC channel are passed through the filter
`HW_MainFiltSync_Used` | no | `Bool8` | `PTU` | std. | opt. | Indicates if the SYNC channel is used in the filter
`HW_MainFilt_Enabled` | no | `Bool8` | `PTU` | std. | opt. | Indicates if the main filter was enabled on measurement
`HW_MainFilt_Inverse` | no | `Bool8` | `PTU` | std. | opt. | Indicates if the filter works logically inverse
`HW_MainFilt_MatchCount` | no | `Int8` | `PTU` | std. | opt. | [cnts/interval]; Defines the amount of events, that have to occur in coincidence to let the filter pass them (0…6)
`HW_MainFilt_TimeRange` | no | `Int8` | `PTU` | std. | opt. | [nsec]; Defines the length of the coincidence interval (0…160000)
`<Measurement Description>` |  | `` | `` |  |  |
`MeasDesc_AcquisitionTime` | no | `Int8` | `PHU, PTU` | std. | opt. | [ms]
`MeasDesc_BinningFactor` | no | `Int8` | `PHU, PTU` | std. | opt. |
`MeasDesc_GlobalResolution` | no | `Float8` | `PTU` | std. | mand. | [s]; Resolution of time tag(s)
`MeasDesc_InvalidSync` | no | `Bool8` | `PTU` | std. | opt. | Sync was invalid (= 0) on measurement start
`MeasDesc_Offset` | no | `Int8` | `PHU, PTU` | std. | opt. | [ns]
`MeasDesc_Resolution` | no | `Float8` | `PHU, PTU` | std. | mand. | [s]; Resolution of TCSPC: BaseResolution * iBinningFactor
`MeasDesc_Restart` | no | `Bool8` | `PHU, PTU` | std. | opt. |
`MeasDesc_StopAt` | no | `Int8` | `PHU, PTU` | std. | opt. | [cnt]
`MeasDesc_StopOnOvfl` | no | `Bool8` | `PHU, PTU` | std. | opt. |
`<Measurement Sequence Descr.>` |  | `` | `` |  |  |
`MeasDesc_Params` | no | `Int8` | `PHU` | std. | opt. | Curve Parameter Count PHU: = 3 for SubMode is SEQ
`MeasDesc_Param_Device` | `0…MeasDesc_Params−1` | `AnsiString` | `PHU` | std. | opt. | Curve Parameter Device (e.g. monochromator type)
`MeasDesc_Param_Name` | `0…MeasDesc_Params−1` | `AnsiString` | `PHU` | std. | opt. | Curve Parameter Name
`MeasDesc_Param_Start` | `0…MeasDesc_Params−1` | `Float8` | `PHU` | std. | opt. | Curve Parameter Startvalue
`MeasDesc_Param_Step` | `0…MeasDesc_Params−1` | `Float8` | `PHU` | std. | opt. | Curve Parameter Stepwidth
`MeasDesc_Param_Stop` | `0…MeasDesc_Params−1` | `Float8` | `PHU` | std. | opt. | Curve Parameter Stopvalue
`MeasDesc_Param_TagName` | `0…MeasDesc_Params−1` | `AnsiString` | `PHU` | std. | opt. | Curve Parameter Value Tag Name
`MeasDesc_Param_Unit` | `0…MeasDesc_Params−1` | `AnsiString` | `PHU` | std. | opt. | Curve Parameter Unit
`MeasDesc_SeqExecutablePath` | no | `AnsiString` | `PHU` | std. | opt. | Full path (as ANSI string) to executable for measurement sequence; can be .exe as well as .bat
`MeasDesc_SeqExecutablePath` | no | `WideString` | `PHU` | std. | opt. | Full path (as wide string) to executable for measurement sequence; can be .exe as well as .bat
`MeasDesc_SeqHideExecutableWnd` | no | `Bool8` | `PHU` | std. | opt. | Indicates if the executable's window should be hidden during sequence
`MeasDesc_SeqNCycles` | no | `Int8` | `PHU` | std. | opt. | Sequence count: number of cycles
`MeasDesc_SeqPause` | no | `Int8` | `PHU` | std. | opt. | [ms]; Pause between individual runs in a measurement sequence
`MeasDesc_SeqRunExecutable` | no | `Bool8` | `PHU` | std. | opt. | Indicates if an executable is called for each measurement in sequence
`<Image Header>` |  | `` | `` |  |  |
`ImgHdr_Acceleration` | no | `Int8` | `PTU` | std. | opt. |
`ImgHdr_BiDirect` | no | `Bool8` | `PTU` | std. | opt. | Scan pattern: TRUE identifies bidirectional scanning (1st line forward scan; 2nd line backward scan; 3rd line forward; 4th line backward; …); FALSE identifies monodirectional scanning (all lines forward)
`ImgHdr_Dimensions` | no | `Int8` | `PTU` | std. | opt. | Dimension of the measurement: 1 = Point; 2 = Line; 3 = Image
`ImgHdr_Frame` | no | `Int8` | `PTU` | std. | opt. | Marker in TTTR stream defining a frame change
`ImgHdr_Ident` | no | `Int8` | `PTU` | std. | opt. | Identifies the scanner hardware: (1 = PI E-710; 3 = LSM; 5 = PI Line WBS; 6 = PI E-725; 7 = PI E-727; 8 = MCL; 9 = FLIMBee; 10 = ScanBox)
`ImgHdr_LearningTime` | no | `Int8` | `PTU` | std. | opt. | [s]; Learning Time used for PI Piezo Controllers
`ImgHdr_LineFrequency` | no | `Float8` | `PTU` | std. | opt. | Frequency for a Line on image and line measurements (from line start marker to next line start marker)
`ImgHdr_LineStart` | no | `Int8` | `PTU` | std. | opt. | Marker in TTTR stream defining a line start
`ImgHdr_LineStop` | no | `Int8` | `PTU` | std. | opt. | Marker in TTTR stream defining a line end
`ImgHdr_MaxFrames` | no | `Int8` | `PTU` | std. | opt. | Image was recorded with a maximum number of frames to scan and automatically stop
`ImgHdr_ObjectiveName` | no | `AnsiString` | `PTU` | std. | opt. | Name of the objective used on measurement
`ImgHdr_PixResol` | no | `Float8` | `PTU` | std. | opt. | [µm]; Resolution of a single pixel (line an image measurements)
`ImgHdr_PixX` | no | `Int8` | `PTU` | std. | opt. | Number of pixels in the fast scan direction (for image measurements)
`ImgHdr_PixY` | no | `Int8` | `PTU` | std. | opt. | Number of pixels in the slow scan direction (for image measurements)
`ImgHdr_PrevPix` | no | `Int8` | `PTU` | std. | opt. | Line measurements: number of pixels per line used for the preview image
`ImgHdr_ScanDirection` | no | `Int8` | `PTU` | std. | opt. | Scan direction, defining the configuration of fast and slowscan axis; (First Axis = Fast Scan axis, Second Axis = SlowAxis; PI_SCANMODE_XY(0) = X-Y Scan; PI_SCANMODE_XZ(1) = X-Z Scan; PI_SCANMODE_YZ(2) = Y-Z Scan)
`ImgHdr_SinCorrection` | no | `Int8` | `PTU` | std. | opt. | If > 0, the image was recorded using a sinuidal instead of a linear movement; Value represents percentage of the sinus wave used for the measurement (0-100%)
`ImgHdr_TimePerLine` | no | `Float8` | `PTU` | std. | opt. | [ms]; Line measurements, time to measure one line (from start to end marker)
`ImgHdr_TimePerPixel` | no | `Int8` | `PTU` | std. | opt. | [ms]; Integration time per pixel for image measurements
`ImgHdr_TStartFro` | no | `Float8` | `PTU` | std. | opt. | Deprecated value for image reconstruction (converted image file only)
`ImgHdr_TStartTo` | no | `Float8` | `PTU` | std. | opt. | Deprecated value for image reconstruction (converted image file only)
`ImgHdr_TStopFro` | no | `Float8` | `PTU` | std. | opt. | Deprecated value for image reconstruction (converted image file only)
`ImgHdr_TStopTo` | no | `Float8` | `PTU` | std. | opt. | Deprecated value for image reconstruction (converted image file only)
`ImgHdr_Velocity` | no | `Int8` | `PTU` | std. | opt. |
`ImgHdr_X0` | no | `Float8` | `PTU` | std. | opt. | [µm]; X Position of measurement (interpretation depends on ImgHdr_Dimensions; for point measurements: the coordinate of measurement; for line: the start point; for images: the offset of the upper left edge of the image)
`ImgHdr_X1` | no | `Float8` | `PTU` | std. | opt. | [µm]; X end position of line measurement
`ImgHdr_XCalibOffset` | no | `Float8` | `PTU` | std. | opt. | [V]; Calibration offset of the X Axis
`ImgHdr_XCalibration` | no | `Float8` | `PTU` | std. | opt. | [m/V]; Calibration of the X Axis from axis movement to voltage
`ImgHdr_Y0` | no | `Float8` | `PTU` | std. | opt. | [µm]; Y Position of measurement (interpretation depends on ImgHdr_Dimensions; for point measurements: the coordinate of measurement; for line: the start point; for images: the offset of the upper left edge of the image)
`ImgHdr_Y1` | no | `Float8` | `PTU` | std. | opt. | [µm]; Y end position of line measurement
`ImgHdr_YCalibOffset` | no | `Float8` | `PTU` | std. | opt. | [V]; Calibration offset of the Y Axis
`ImgHdr_YCalibration` | no | `Float8` | `PTU` | std. | opt. | [m/V]; Calibration of the Y Axis from axis movement to voltage
`ImgHdr_Z0` | no | `Float8` | `PTU` | std. | opt. | [µm]; Z Position of measurement (interpretation depends on ImgHdr_Dimensions; for point measurements: the coordinate of measurement; for line: the start point; for images: the offset of the upper left edge of the image)
`ImgHdr_Z1` | no | `Float8` | `PTU` | std. | opt. | [µm]; Z end position of line measurement
`ImgHdr_ZCalibOffset` | no | `Float8` | `PTU` | std. | opt. | [V]; Calibration offset of the Z Axis
`ImgHdr_ZCalibration` | no | `Float8` | `PTU` | std. | opt. | [m/V]; Calibration of the Z Axis from axis movement to voltage
`<TT Measurement Results>` |  | `` | `` |  |  |
`TTResult_StopReason` | no | `Int8` | `PTU` | fast | opt. | Reason for measurement end: PTU: srTimeOver(0) = TimeOver, ScanDone; srManual(1) = Stopped by user; srOverFlow(2) = Overflow condition; srError(3) = Error (old style, converted Files); srUnkown(-1) = Unknown Reason; srFiFoOverrun(-2)= FiFo Overrun; srLegacyErr(-3) = Legacy converted; srTCSPCError(-4) = TCSPC Error; srFileError(-5) = File writing Error (e.g. disk full); srOutOfMem(-6) = Out of memory on recording file; srSuspend(-7) = Computer sent to suspend in measurement; srSYSERROR(-8) = SysError Flag of TCSPC appeared; srQueueOverrun(-9) = Software FiFo overrun; srDataXferFail(-10) = Read FiFo Error, typically bad USB connection; srDataCheckFail(-11) = Illegal Dataentry found; srRefClkLost(-12) = Reference clock signal lost; srSyncLost(-13) = Sync Signal Lost
`TTResult_InputRate` | `0…HW_InpChannels−1` | `Int8` | `PTU` | std. | opt. | [counts/s]
`TTResult_MDescWarningFlags` | no | `BitSet64` | `PTU` | std. | opt. | Warnings during measurement PTU: 0x001 = SyncRateZero; 0x002 = SyncRateTooLow; 0x004 = SyncRateTooHigh; 0x010 = InptRateZero; 0x040 = InptRateTooHigh; 0x080 = EventsDropped; 0x100 = InptRateRatio; 0x200 = DividerGTOne; 0x400 = TimeSpanToSmall; 0x800 = OffsetUnnecessary;
`TTResult_NumberOfRecords` | no | `Int8` | `PTU` | std. | mand. | Number of Records in the binary part
`TTResult_StopAfter` | no | `Int8` | `PTU` | std. | opt. | [ms]
`TTResult_SyncRate` | no | `Int8` | `PTU` | std. | mand. | [counts/s] PTU: as recorded at the beginning of a measurement
`<TT Results Format>` |  | `` | `` |  |  |
`TTResultFormat_BitsPerRecord` | no | `Int8` | `PTU` | std. | mand. | Currently containing 32 for all PicoQuant TCSPC devices; Nevertheless mandatory!
`TTResultFormat_ChannelMask` | no | `Int8` | `PTU` | std. | opt. | Binary mask to isolate the channels data field from the TTTR record by means of a binary AND operation; (Refer to your TCSPC device manual for more information)
`TTResultFormat_ChannelShift` | no | `Int8` | `PTU` | std. | opt. | Shift the isolated channels data field by this number of bits to the right to get the channel number as integer; (Refer to your TCSPC device manual for more information)
`TTResultFormat_DTimeMask` | no | `Int8` | `PTU` | std. | opt. | Binary mask to isolate the DTime data field from the TTTR record by means of a binary AND operation; (Refer to your TCSPC device manual for more information)
`TTResultFormat_DTimeShift` | no | `Int8` | `PTU` | std. | opt. | Shift the isolated DTime data field by this number of bits to the right to get the DTime value as integer; (Refer to your TCSPC device manual for more information)
`TTResultFormat_MarkerMask` | no | `Int8` | `PTU` | std. | opt. | Binary mask to isolate the marker data field from the TTTR record by means of a binary AND operation; (Refer to your TCSPC device manual for more information)
`TTResultFormat_MarkerShift` | no | `Int8` | `PTU` | std. | opt. | Shift the isolated marker data field by this number of bits to the right to get the marker pattern as integer; Consider: markers are bitset coded and may even coincide; (Refer to your TCSPC device manual for more information)
`TTResultFormat_NSyncMask` | no | `Int8` | `PTU` | std. | opt. | Binary mask to isolate the NSync data field from the TTTR record by means of a binary AND operation; (Refer to your TCSPC device manual for more information)
`TTResultFormat_NSyncShift` | no | `Int8` | `PTU` | std. | opt. | Shift the isolated NSync data field by this number of bits to the right to get the NSync value as integer; (Refer to your TCSPC device manual for more information)
`TTResultFormat_SpecialMask` | no | `Int8` | `PTU` | std. | opt. | Binary mask to isolate the special record field from the TTTR record by means of a binary AND operation; If the isolated field equals the mask, we recognize a special record; (Refer to your TCSPC device manual for more information)
`TTResultFormat_TTTRRecType` | no | `Int8` | `PTU` | std. | mand. | Contains TTResultFormat information in coded form; mandatory!
`TTResultFormat_WrapAround` | no | `Int8` | `PTU` | std. | opt. | Add this value to your global counter on each arriving of an overflow record; If your TCSPC device is able to compress overflows, multiply by the value of the unshifted (rightmost) datafield in TTTR record before addition.
`<Histo Measurement Results>` |  | `` | `` |  |  |
`HistoResult_BitsPerBin` | no | `Int8` | `PHU` | std. | mand. |
`HistoResult_NumberOfCurves` | no | `Int8` | `PHU` | std. | mand. | Number of Curves
`<Histo Result Descriptor>` |  | `` | `` |  |  |
`HistResDscr_CurveIndex` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. |
`HistResDscr_DataOffset` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | mand. |
`HistResDscr_HistCountRate` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. |
`HistResDscr_HistogramBins` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | mand. |
`HistResDscr_HWBaseResolution` | `0…HistoResult_NumberOfCurves−1` | `Float8` | `PHU` | std. | opt. | [s]
`HistResDscr_HWExternalDevices` | `0…HistoResult_NumberOfCurves−1` | `BitSet64` | `PHU` | std. | opt. |
`HistResDscr_HWExternalRefClock` | `0…HistoResult_NumberOfCurves−1` | `Bool8` | `PHU` | std. | opt. |
`HistResDscr_HWFeatures` | `0…HistoResult_NumberOfCurves−1` | `BitSet64` | `PHU` | std. | opt. | $001 = DLL; $002 = TTTR; $004 = Markers; $008 = low Res.; $010 = Trig.Out.; $020 = prog. DeadTime; $040 = ext FPGA interf.; $080 = prog. hysteresis; $100 = coincidence filtering; $200 = prog. input modes
`HistResDscr_HWInpChanCFDLevel` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [mV]; refers to the input identified by HistResDscr_HWInpChanIdx
`HistResDscr_HWInpChanCFDZCross` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [mV]; refers to the input identified by HistResDscr_HWInpChanIdx
`HistResDscr_HWInpChanIdx` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | identifies the input that collected the events of this histogram
`HistResDscr_HWInpChanModuleIdx` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | 1 … HW_Modules; refers to the input identified by HistResDscr_HWInpChanIdx
`HistResDscr_HWInpChannels` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. |
`HistResDscr_HWInpChannelsEnabld` | `0…HistoResult_NumberOfCurves−1` | `BitSet64` | `PHU` | std. | opt. |
`HistResDscr_HWInpChanOffset` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [ps]; refers to the input identified by HistResDscr_HWInpChanIdx
`HistResDscr_HWInpChanTdCode` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | Deadtime classification; refers to the input identified by HistResDscr_HWInpChanIdx
`HistResDscr_HWInpChanTrgEdge` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | Triggers on 0 = falling edge; 1 = rising edge; (only if not CFD input); refers to the input identified by HistResDscr_HWInpChanIdx
`HistResDscr_HWInpChanTrgLevel` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [mV]; trigger level for input channel; (only if not CFD input); refers to the input identified by HistResDscr_HWInpChanIdx
`HistResDscr_HWInpChanTrgMode` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | Kind of input type (Edge Trigger = 0 vs. CFD = 1, default depends on HW_Type); refers to the input identified by HistResDscr_HWInpChanIdx
`HistResDscr_HWInputHysteresis` | `0…HistoResult_NumberOfCurves−1` | `Bool8` | `PHU` | std. | opt. | true = long hysteresis; Value goes for all input channels in common
`HistResDscr_HWMarkers` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. |
`HistResDscr_HWMarkers_Enabled` | `0…HistoResult_NumberOfCurves−1` | `BitSet64` | `PHU` | std. | opt. | LSB = Marker[0]
`HistResDscr_HWMarkers_Rising` | `0…HistoResult_NumberOfCurves−1` | `BitSet64` | `PHU` | std. | opt. | LSB = Marker[0]
`HistResDscr_HWModules` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | for PicoHarp = 1
`HistResDscr_HWModuleTypeCode<m>` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | <m>: %2.2d = 00 … HW_Modules - 1; for PicoHarp = 0
`HistResDscr_HWModuleVersCode<m>` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | <m>: %2.2d = 00 … HW_Modules - 1; for PicoHarp = HW_Version
`HistResDscr_HWPartNo` | `0…HistoResult_NumberOfCurves−1` | `AnsiString` | `PHU` | std. | opt. |
`HistResDscr_HWRouterChannelIdx` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. |
`HistResDscr_HWRouterEnabled` | `0…HistoResult_NumberOfCurves−1` | `Bool8` | `PHU` | std. | opt. |
`HistResDscr_HWRouterModelCode` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | Model code of Router: 0 = None; 1 = PHR_402; 2 = PHR_403; 3 = PHR_800
`HistResDscr_HWRtChanCFDLevel` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [mV]; only present if HistResDscr_HWRtChanCFDPresent[idx] = TRUE
`HistResDscr_HWRtChanCFDPresent` | `0…HistoResult_NumberOfCurves−1` | `Bool8` | `PHU` | std. | opt. |
`HistResDscr_HWRtChanCFDZCross` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [mV]; only present if HistResDscr_HWRtChanCFDPresent[idx] = TRUE
`HistResDscr_HWRtChanInputLevel` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [mV]
`HistResDscr_HWRtChanInputType` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | 0 = Custom; 1 = NIM; 2 = TTL
`HistResDscr_HWRtChanOffset` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [ps]
`HistResDscr_HWRtChanRisingEdge` | `0…HistoResult_NumberOfCurves−1` | `Bool8` | `PHU` | std. | opt. |
`HistResDscr_HWSerialNo` | `0…HistoResult_NumberOfCurves−1` | `AnsiString` | `PHU` | std. | opt. |
`HistResDscr_HWSyncCFDLevel` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [mV]
`HistResDscr_HWSyncCFDZeroCross` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [mV]
`HistResDscr_HWSyncDivider` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. |
`HistResDscr_HWSyncOffset` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [ps]
`HistResDscr_HWSyncTdCode` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | Deadtime classification
`HistResDscr_HWSyncTrgEdge` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | Triggers on 0 = falling edge; 1 = rising edge; (only if not CFD sync input)
`HistResDscr_HWSyncTrgLevel` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [mV]; trigger level for sync input; (only if not CFD sync input)
`HistResDscr_HWSyncTrgMode` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | Kind of input type (Edge Trigger = 0 vs. CFD = 1; default depends on HW_Type)
`HistResDscr_HWTimingmode` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | 0 = HiRes; 1 = LoRes; (only used for TH260)
`HistResDscr_HWTriggerOutOn` | `0…HistoResult_NumberOfCurves−1` | `Bool8` | `PHU` | std. | opt. |
`HistResDscr_HWTriggerOutPeriod` | `0…HistoResult_NumberOfCurves−1` | `Float8` | `PHU` | std. | opt. | [s]
`HistResDscr_HWType` | `0…HistoResult_NumberOfCurves−1` | `AnsiString` | `PHU` | std. | opt. | "PicoHarp", "HydraHarp", "TH260N", "TH260P", "MultiHarp", "PicoHarp330", …
`HistResDscr_HWVersion` | `0…HistoResult_NumberOfCurves−1` | `AnsiString` | `PHU` | std. | opt. |
`HistResDscr_InputRate` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. |
`HistResDscr_IntegralCount` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. |
`HistResDscr_MDescAcquisTime` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [ms]
`HistResDscr_MDescBinningFactor` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | expanded, to also support non-binary factors
`HistResDscr_MDescMode` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | Kind of TCSPC Measurement
`HistResDscr_MDescOffset` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [ns]
`HistResDscr_MDescResolution` | `0…HistoResult_NumberOfCurves−1` | `Float8` | `PHU` | std. | mand. | [s]; BaseResolution*iBinningFactor
`HistResDscr_MDescRestart` | `0…HistoResult_NumberOfCurves−1` | `Bool8` | `PHU` | std. | opt. |
`HistResDscr_MDescStopAfter` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [ms]
`HistResDscr_MDescStopReason` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | 0 = timeover; 1 = manual; 2 = overflow
`HistResDscr_MDescSubMode` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | Kind of Measurement
`HistResDscr_MDescWarningFlags` | `0…HistoResult_NumberOfCurves−1` | `BitSet64` | `PHU` | std. | opt. | Warnings during measurement PHU: 0x001 = SyncRateZero; 0x002 = SyncRateTooLow; 0x004 = SyncRateTooHigh; 0x010 = InptRateZero; 0x040 = InptRateTooHigh; 0x080 = EventsDropped; 0x100 = InptRateRatio; 0x200 = DividerGTOne; 0x400 = TimeSpanToSmall; 0x800 = OffsetUnnecessary;
`HistResDscr_RawData_GUID` | `0…HistoResult_NumberOfCurves−1` | `AnsiString` | `PHU` | std. | opt. | Used as global Identifier for underlying raw data files; Given in standard Windows GUID format: {%8.8X-%4.4X-%4.4X-%4.4X-%12.12X} PHU: only used if generated / imported from other sources
`HistResDscr_SyncRate` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. |
`HistResDscr_TimeOfRecording` | `0…HistoResult_NumberOfCurves−1` | `TDateTime` | `PHU` | std. | opt. |
`<Parameter Data>` |  | `` | `` |  |  |
`Par<Ident>` | `0…HistoResult_NumberOfCurves−1` | `Float8` | `PHU` | std. | opt. | float parameter as named in MeasDesc_Param_TagName PHU: indexed by number of curves in PHU files
`Par<Ident>` | no | `Float8` | `PTU` | std. | opt. | float parameter as named in MeasDesc_Param_TagName PTU: not indexed in PTU files
`<Current SoftwareSettings>` |  | `` | `` |  |  |
`CurSWSetting_ActiveCurve` | no | `Int8` | `PHU, PTU` | std. | opt. | for Harps SW only
`CurSWSetting_DispAxisCountFrom` | no | `Int8` | `PHU, PTU` | std. | opt. | for Harps SW only
`CurSWSetting_DispAxisCountTo` | no | `Int8` | `PHU, PTU` | std. | opt. | for Harps SW only
`CurSWSetting_DispAxisTimeFrom` | no | `Int8` | `PHU, PTU` | std. | opt. | for Harps SW only
`CurSWSetting_DispAxisTimeTo` | no | `Int8` | `PHU, PTU` | std. | opt. | for Harps SW only
`CurSWSetting_DispCurves` | no | `Int8` | `PHU, PTU` | std. | opt. | for Harps SW only
`CurSWSetting_DispCurve_MapTo` | `0…CurSWSetting_DispCurves−1` | `Int8` | `PHU, PTU` | std. | opt. | for Harps SW only
`CurSWSetting_DispCurve_Show` | `0…CurSWSetting_DispCurves−1` | `Bool8` | `PHU, PTU` | std. | opt. | for Harps SW only
`CurSWSetting_DispLog` | no | `Bool8` | `PHU, PTU` | std. | opt. | for Harps SW only
`<Sepia2 Data>` |  | `` | `` |  |  |
`Sep2_FirmwareVersion` | no | `AnsiString` | `PHU, PTU` | std. | opt. |
`Sep2_SerialNo` | no | `AnsiString` | `PHU, PTU` | std. | opt. |
`Sep2_SCM_<Slot>_SerialNo` | no | `AnsiString` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989
`Sep2_SLM_<Slot>_CW_PulseDisable` | no | `Bool8` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989; depending on laser head, true means either CW or disable
`Sep2_SLM_<Slot>_FineIntensity` | no | `Int8` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989; [per mille]; indirect: as ratio of the controlling voltage
`Sep2_SLM_<Slot>_HeadType` | no | `AnsiString` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989; as recognised by the SLM module
`Sep2_SLM_<Slot>_Intensity` | no | `Int8` | `PHU, PTU` | std. | opt. | obsolete (<Slot>: 000 … 989; [%]; indirect: as ratio of the controlling voltage) PHU: obsolete PTU: obsolete
`Sep2_SLM_<Slot>_SerialNo` | no | `AnsiString` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989
`Sep2_SLM_<Slot>_TriggerIndex` | no | `Int8` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989
`Sep2_SOM_<Slot>_BaseOscFreq` | no | `Float8` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989; [Hz]; only present if internal triggered
`Sep2_SOM_<Slot>_Divider` | no | `Int8` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989
`Sep2_SOM_<Slot>_InvSyncMask` | no | `Bool8` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989
`Sep2_SOM_<Slot>_PreSync` | no | `Int8` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989
`Sep2_SOM_<Slot>_Seq_BurstLen` | `0…7` | `Int8` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989; 0 … 16777215
`Sep2_SOM_<Slot>_Seq_EnaOutput` | `0…7` | `Bool8` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989
`Sep2_SOM_<Slot>_Seq_EnaSync` | `0…7` | `Bool8` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989
`Sep2_SOM_<Slot>_SerialNo` | no | `AnsiString` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989
`Sep2_SOM_<Slot>_SyncMask` | no | `Int8` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989
`Sep2_SOM_<Slot>_TrigEdge` | no | `Bool8` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989; only present if external triggered
`Sep2_SOM_<Slot>_TrigLevel` | no | `Int8` | `PHU, PTU` | std. | opt. | <Slot>: 000 … 989; [mV]; only present if external triggered
`<Variables Data>` |  | `` | `` |  |  |
`VarResultType` | no | `Int8` | `PQRES` | fast | opt. |
`VarScriptIdent` | no | `AnsiString` | `PCO, PQRES` | fast | opt. | Identifies the generating script
`Var<Ident>` | maybe | `AnsiString` | `PQRES` | std. | opt. | User defined ANSI string variable
`Var<Ident>` | maybe | `Bool8` | `PQRES` | std. | opt. | User defined boolean variable
`Var<Ident>` | maybe | `BinaryBlob` | `PQRES` | std. | opt. | User defined binary blob variable
`Var<Ident>` | maybe | `Color8` | `PQRES` | std. | opt. | User defined color variable
`Var<Ident>` | maybe | `Float8` | `PQRES` | std. | opt. | User defined float variable
`Var<Ident>` | maybe | `Float8Array` | `PQRES` | std. | opt. | User defined float array variable
`Var<Ident>` | maybe | `Int8` | `PQRES` | std. | opt. | User defined integer variable
`Var<Ident>` | maybe | `BitSet64` | `PQRES` | std. | opt. | User defined bitset variable
`Var<Ident>` | maybe | `TDateTime` | `PQRES` | std. | opt. | User defined date/time variable
`Var<Ident>` | maybe | `WideString` | `PQRES` | std. | opt. | User defined wide string variable
`<Context Data>` |  | `` | `` |  |  |
`Ctx<Ident>` | maybe | `Int8` | `PQRES` | std. | opt. | Context for a variable with same name (Ctx replaced by Var)
`<User Data>` |  | `` | `` |  |  |
`UsrOverviewGUID` | no | `AnsiString` | `PTU` | std. | opt. | Used as global Identifier for an result file containing the underlying overview; Given in standard Windows GUID format: {%8.8X-%4.4X-%4.4X-%4.4X-%12.12X}
`Usr<Ident>` | maybe | `AnsiString` | `all` | std. | opt. | additional user defined ANSI string content
`Usr<Ident>` | maybe | `Bool8` | `all` | std. | opt. | additional user defined boolean content
`Usr<Ident>` | maybe | `BinaryBlob` | `all` | std. | opt. | additional user defined binary blob content
`Usr<Ident>` | maybe | `Color8` | `all` | std. | opt. | additional user defined color content
`Usr<Ident>` | maybe | `Float8` | `all` | std. | opt. | additional user defined float content
`Usr<Ident>` | maybe | `Float8Array` | `all` | std. | opt. | additional user defined float array content
`Usr<Ident>` | maybe | `Int8` | `all` | std. | opt. | additional user defined integer content
`Usr<Ident>` | maybe | `BitSet64` | `all` | std. | opt. | additional user defined bitset content
`Usr<Ident>` | maybe | `TDateTime` | `all` | std. | opt. | additional user defined date / time content
`Usr<Ident>` | maybe | `WideString` | `all` | std. | opt. | additional user defined wide string content
`<Misc. Tags>` |  | `` | `` |  |  |
`ChkChannels` | no | `Int8` | `PCK` | std. | opt. | Number of channels with photons in the raw data file
`ChkFrameMarkers` | no | `Int8` | `PCK` | std. | opt. | Number of Framemarker in the raw data file; also the number of Frame Records in the checkpoint file
`ChkFrameRecord` | `0…ChkFrameMarkers−1` | `Int8` | `PCK` | std. | opt. | record number of a frame start in the raw data file
`ChkHistogram` | no | `BinaryBlob` | `PCK` | std. | opt. | Overall histogram of the raw data file, array of Int64 Values
`ChkMaxTimeTag` | no | `Int8` | `PCK` | std. | opt. | last valid timetag in the raw data file
`ChkUsedChannel` | `0…ChkChannels−1` | `Int8` | `PCK` | std. | opt. | Channel has photon events in the raw data file
`<Defaults / Settings>` |  | `` | `` |  |  |
`Defaults_Begin` | no | `Empty8` | `PFS, PUS` | std. | mand. |
`PQHT_<HashId>_Group` | no | `AnsiString` | `PFS, PUS` | std. | opt. | <HashId>: (8 hex char.) identifying the setting; Group to associate the setting to
`PQHT_<HashId>_ValidSince` | no | `TDateTime` | `PFS, PUS` | std. | mand. | <HashId>: (8 hex char.) identifying the setting; Date of registering the setting
`<FactoryOrUserSettingIdent>` | no | `AnsiString` | `PFS, PUS` | std. | opt. | PFS: factory setting with ANSI string value PUS: user defined setting with ANSI string value
`<FactoryOrUserSettingIdent>` | no | `Bool8` | `PFS, PUS` | std. | opt. | PFS: factory setting with boolean value PUS: user defined setting with boolean value
`<FactoryOrUserSettingIdent>` | no | `Color8` | `PFS, PUS` | std. | opt. | PFS: factory setting with color value PUS: user defined setting with color value
`<FactoryOrUserSettingIdent>` | no | `Float8` | `PFS, PUS` | std. | opt. | PFS: factory setting with float value PUS: user defined setting with float value
`<FactoryOrUserSettingIdent>` | no | `Int8` | `PFS, PUS` | std. | opt. | PFS: factory setting with integer value PUS: user defined setting with integer value
`<FactoryOrUserSettingIdent>` | no | `BitSet64` | `PFS, PUS` | std. | opt. | PFS: factory setting with bitset value PUS: user defined setting with bitset value
`<FactoryOrUserSettingIdent>` | no | `WideString` | `PFS, PUS` | std. | opt. | PFS: factory setting with wide string value PUS: user defined setting with wide string value
`<Special Tags>` |  | `` | `` |  |  |
`Fast_Load_End` | no | `Empty8` | `all` | fast | opt. | All tags intended to be loaded in "fast" mode have to be stored preceding this tag. For a preview of files, only the tags onto this tag are loaded (useful e.g. for shell extensions or workspace loading). Take care to minimize the amount of tags preceding this tag! If omitted, always the whole number of tags are loaded.
`Header_End` | no | `Empty8` | `all` | std. | mand. | End of Header; Below this point, only binary data is situated
`<Binary Data>` |  | `` | `PHU, PTU` |  |  | Contains the TTTR records, must be positioned at the end of file Length of this block in Bytes = TTResultFormat_BitsPerRecord / 8 * TTResult_NumberOfRecords