4.4 Data encoding for TDC hits

The following bit table shows the encoding of the payload data (crono_packet::data) of all recorded TDC hits within the time-frame given by ndigo6g12_param_info::tdc_rollover_period.

Bit

31

30

9

8

7

6

5

4

3

2

1

0

Data

Timestamp

TDC hit flags

Channel number

Details

The timestamp is relative to crono_packet::timestamp and is given in units of ndigo6g12_param_info::tdc_period.

See below.

0x0: TDC channel 1
0x1: TDC channel 2
0x2: TDC channel 3
0x3: TDC channel 4
0x4: TRG
0x5: GATE
0xD: Dummy data
0xF: Rollover marker

The TDC hit flags are one of the following:

NDIGO6G12_TDC_HIT_FLAG_LOST

At least one preceding event was lost due to full FIFO.

NDIGO6G12_TDC_HIT_FLAG_ROLLOVER_LOST

Rollover has been lost due to full FIFO.

Results in a fatal error.

NDIGO6G12_TDC_HIT_FLAG_VALID

Timestamp is a valid TDC event.

NDIGO6G12_TDC_HIT_FLAG_GROUP_TIME_ROLLOVER

Timestamp is a rollover marker.

Add ndigo6g12_param_info::tdc_rollover_period to all subsequent timestamps in the packet.

NDIGO6G12_TDC_HIT_ERROR_MASK

TDC hit flag mask for error reporting.

NDIGO6G12_TDC_HIT_TYPE_MASK

TDC hit flags mask for timestamp type.

NDIGO6G12_TDC_PADDING_DATA_CHANNEL

TDC hit channel number for padding-data.

Padding-data can be ignored. Does not contain any usefull information. Padding-data has NDIGO6G12_TDC_HIT_FLAG_GROUP_TIME_ROLLOVER and NDIGO6G12_TDC_HIT_FLAG_VALID always cleared.

NDIGO6G12_TDC_ROLLOVER_CHANNEL

TDC hit channel number for rollover marker.

Rollover marker has NDIGO6G12_TDC_HIT_FLAG_GROUP_TIME_ROLLOVER always set.