##### Appendix
# Tag Dictionary

[Related Topics] |

Field Identifier | Indexed | Field Type | File Types | Loading | Oblig. | Remarks

## PicoQuant Unified Tag Dictionary

(as valid at 2019-02-15 14:02:33)

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_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 (ASCII-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; (ASCII-String)
`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, 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, PQRES` | 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}
`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: T2 = 2, T3 = 3
`Measurement_SubMode` | no | `Int8` | `PHU, PTU` | fast | mand. | Kind of Measurement PHU: 0= Oscilloscope Mode, 1= Integrating mode, 2= TRES 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_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 Software 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 send in request
`$Groupname` | no | `AnsiString` | `PTU` | std. | opt. | Name for group measurement as sent in request; subdirectory in current working directory: created, 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
`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 in 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_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
`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.;
`HW_PartNo` | no | `AnsiString` | `PHU, PTU` | std. | opt. | Part number of TCSPC device
`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")
`HW_Version` | no | `AnsiString` | `PHU, PTU` | std. | opt. | Hardware version of TCSPC device
`<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_Params` | no | `Int8` | `PHU` | std. | opt. | Curve Parameter Count
`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_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. |
`<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, …);<br>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. | Identifiers 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. | Learning Time used for PI Piezo Controllers [s]
`ImgHdr_LineFrequency` | no | `Float8` | `PTU` | std. | opt. | Frequency for a Line in 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 in the measurement
`ImgHdr_PixResol` | no | `Float8` | `PTU` | std. | opt. | Resolution of a single pixel (line an image measurements) [µm]
`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 bigger than zero the image was recorded using a sinuidal movement instead of a linear movement, the value represents the percentage of the sinus wave used for the measurement (0-100%)
`ImgHdr_TimePerLine` | no | `Float8` | `PTU` | std. | opt. | Line measurements, time to measure one line (from start to end marker) [ms]
`ImgHdr_TimePerPixel` | no | `Int8` | `PTU` | std. | opt. | Integration time per pixel for image measurements [ms]
`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. | X Position of measurement (defines for point measurements the coordinate of measurement, for line the start point, for images the offset of the upper left edge of the image) [µm]
`ImgHdr_X1` | no | `Float8` | `PTU` | std. | opt. | X end position of line measurement [µm]
`ImgHdr_XCalibOffset` | no | `Float8` | `PTU` | std. | opt. | Calibration offset of the X Axis (V)
`ImgHdr_XCalibration` | no | `Float8` | `PTU` | std. | opt. | Calibration of the X Axis from axis movement to voltage (m/V)
`ImgHdr_Y0` | no | `Float8` | `PTU` | std. | opt. | Y Position of measurement (defines for point measurements the coordinate of measurement, for line the start point, for images the offset of the upper left edge of the image) [µm]
`ImgHdr_Y1` | no | `Float8` | `PTU` | std. | opt. | Y end position of line measurement [µm]
`ImgHdr_YCalibOffset` | no | `Float8` | `PTU` | std. | opt. | Calibration offset of the Y Axis (V)
`ImgHdr_YCalibration` | no | `Float8` | `PTU` | std. | opt. | Calibration of the Y Axis from axis movement to voltage (m/V)
`ImgHdr_Z0` | no | `Float8` | `PTU` | std. | opt. | Z Position of measurement (defines for point measurements the coordinate of measurement, for line the start point, for images the offset of the upper left edge of the image) [µm]
`ImgHdr_Z1` | no | `Float8` | `PTU` | std. | opt. | Z end position of line measurement [µm]
`ImgHdr_ZCalibOffset` | no | `Float8` | `PTU` | std. | opt. | Calibration offset of the Z Axis (V)
`ImgHdr_ZCalibration` | no | `Float8` | `PTU` | std. | opt. | Calibration of the Z Axis from axis movement to voltage (m/V)
`<TT Measurement Results>` |  | `` | `` |  |  |
`TTResult_StopReason` | no | `Int8` | `PTU` | fast | opt. | Reason for measurement end:<br>srTimeOver(0) = TimeOver, ScanDone<br>srManual(1) = Stopped by user<br>srOverFlow(2) = Overflow condition<br>srError(3) = Error (old style, converted Files)<br>srUnkown(-1) = Unknown Reason<br>srFiFoOverrun(-2)= FiFo Ov
`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.;
`HistResDscr_HWInpChanCFDLevel` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [mV]
`HistResDscr_HWInpChanCFDZCross` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [mV]
`HistResDscr_HWInpChanIdx` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. |
`HistResDscr_HWInpChanModuleIdx` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | 1 … HW_Modules
`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]
`HistResDscr_HWInpChanTdCode` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | Deadtime classification
`HistResDscr_HWInpChanTrgEdge` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | Triggers on 0=falling edge; 1=rising edge; only if not CFD input
`HistResDscr_HWInpChanTrgLevel` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [mV]; trigger level for input channel; only if not CFD input
`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. | enums: None, PHR_402 , PHR_403, PHR_800
`HistResDscr_HWRtChanCFDLevel` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [mV]; only if present
`HistResDscr_HWRtChanCFDPresent` | `0…HistoResult_NumberOfCurves−1` | `Bool8` | `PHU` | std. | opt. |
`HistResDscr_HWRtChanCFDZCross` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [mV]; only if present
`HistResDscr_HWRtChanInputLevel` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | [mV]
`HistResDscr_HWRtChanInputType` | `0…HistoResult_NumberOfCurves−1` | `Int8` | `PHU` | std. | opt. | enums: Custom, NIM, 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_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_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"
`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
`<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