DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::fddetdataformats::ColdataSegment Struct Reference

COLDATA segment struct. More...

#include <WIBFrame.hpp>

Public Member Functions

uint16_t get_channel (const uint8_t adc, const uint8_t ch) const
 
void set_channel (const uint8_t adc, const uint8_t ch, const uint16_t new_val)
 

Public Attributes

word_t adc0ch0_1: 8
 
word_t adc1ch0_1: 8
 
word_t adc0ch0_2: 4
 
word_t adc0ch1_1: 4
 
word_t adc1ch0_2: 4
 
word_t adc1ch1_1: 4
 
word_t adc0ch1_2: 8
 
word_t adc1ch1_2: 8
 
word_t adc0ch2_1: 8
 
word_t adc1ch2_1: 8
 
word_t adc0ch2_2: 4
 
word_t adc0ch3_1: 4
 
word_t adc1ch2_2: 4
 
word_t adc1ch3_1: 4
 
word_t adc0ch3_2: 8
 
word_t adc1ch3_2: 8
 

Static Public Attributes

static constexpr int s_num_ch_per_seg = 8
 

Detailed Description

COLDATA segment struct.

Definition at line 209 of file WIBFrame.hpp.

Member Function Documentation

◆ get_channel()

uint16_t dunedaq::fddetdataformats::ColdataSegment::get_channel ( const uint8_t adc,
const uint8_t ch ) const
inline

Definition at line 219 of file WIBFrame.hpp.

220 {
221 if (adc % 2 == 0) {
222 switch (ch % 4) {
223 case 0:
224 return adc0ch0_1 | adc0ch0_2 << 8;
225 case 1:
226 return adc0ch1_1 | adc0ch1_2 << 4;
227 case 2:
228 return adc0ch2_1 | adc0ch2_2 << 8;
229 case 3:
230 return adc0ch3_1 | adc0ch3_2 << 4;
231 }
232 } else if (adc % 2 == 1) {
233 switch (ch % 4) {
234 case 0:
235 return adc1ch0_1 | adc1ch0_2 << 8;
236 case 1:
237 return adc1ch1_1 | adc1ch1_2 << 4;
238 case 2:
239 return adc1ch2_1 | adc1ch2_2 << 8;
240 case 3:
241 return adc1ch3_1 | adc1ch3_2 << 4;
242 }
243 }
244 throw std::range_error("Supplied WIB channel index is out of the allowed range.");
245 return 0;
246 }
PDS Frame with unphysical timestamp detected with ch

◆ set_channel()

void dunedaq::fddetdataformats::ColdataSegment::set_channel ( const uint8_t adc,
const uint8_t ch,
const uint16_t new_val )
inline

Definition at line 248 of file WIBFrame.hpp.

249 {
250 if (adc % 2 == 0) {
251 switch (ch % 4) {
252 case 0:
253 adc0ch0_1 = new_val;
254 adc0ch0_2 = new_val >> 8;
255 break;
256 case 1:
257 adc0ch1_1 = new_val;
258 adc0ch1_2 = new_val >> 4;
259 break;
260 case 2:
261 adc0ch2_1 = new_val;
262 adc0ch2_2 = new_val >> 8;
263 break;
264 case 3:
265 adc0ch3_1 = new_val;
266 adc0ch3_2 = new_val >> 4;
267 break;
268 }
269 } else if (adc % 2 == 1) {
270 switch (ch % 4) {
271 case 0:
272 adc1ch0_1 = new_val;
273 adc1ch0_2 = new_val >> 8;
274 break;
275 case 1:
276 adc1ch1_1 = new_val;
277 adc1ch1_2 = new_val >> 4;
278 break;
279 case 2:
280 adc1ch2_1 = new_val;
281 adc1ch2_2 = new_val >> 8;
282 break;
283 case 3:
284 adc1ch3_1 = new_val;
285 adc1ch3_2 = new_val >> 4;
286 break;
287 }
288 }
289 }

Member Data Documentation

◆ adc0ch0_1

word_t dunedaq::fddetdataformats::ColdataSegment::adc0ch0_1

Definition at line 215 of file WIBFrame.hpp.

◆ adc0ch0_2

word_t dunedaq::fddetdataformats::ColdataSegment::adc0ch0_2

Definition at line 215 of file WIBFrame.hpp.

◆ adc0ch1_1

word_t dunedaq::fddetdataformats::ColdataSegment::adc0ch1_1

Definition at line 215 of file WIBFrame.hpp.

◆ adc0ch1_2

word_t dunedaq::fddetdataformats::ColdataSegment::adc0ch1_2

Definition at line 216 of file WIBFrame.hpp.

◆ adc0ch2_1

word_t dunedaq::fddetdataformats::ColdataSegment::adc0ch2_1

Definition at line 216 of file WIBFrame.hpp.

◆ adc0ch2_2

word_t dunedaq::fddetdataformats::ColdataSegment::adc0ch2_2

Definition at line 217 of file WIBFrame.hpp.

◆ adc0ch3_1

word_t dunedaq::fddetdataformats::ColdataSegment::adc0ch3_1

Definition at line 217 of file WIBFrame.hpp.

◆ adc0ch3_2

word_t dunedaq::fddetdataformats::ColdataSegment::adc0ch3_2

Definition at line 217 of file WIBFrame.hpp.

◆ adc1ch0_1

word_t dunedaq::fddetdataformats::ColdataSegment::adc1ch0_1

Definition at line 215 of file WIBFrame.hpp.

◆ adc1ch0_2

word_t dunedaq::fddetdataformats::ColdataSegment::adc1ch0_2

Definition at line 215 of file WIBFrame.hpp.

◆ adc1ch1_1

word_t dunedaq::fddetdataformats::ColdataSegment::adc1ch1_1

Definition at line 215 of file WIBFrame.hpp.

◆ adc1ch1_2

word_t dunedaq::fddetdataformats::ColdataSegment::adc1ch1_2

Definition at line 216 of file WIBFrame.hpp.

◆ adc1ch2_1

word_t dunedaq::fddetdataformats::ColdataSegment::adc1ch2_1

Definition at line 216 of file WIBFrame.hpp.

◆ adc1ch2_2

word_t dunedaq::fddetdataformats::ColdataSegment::adc1ch2_2

Definition at line 217 of file WIBFrame.hpp.

◆ adc1ch3_1

word_t dunedaq::fddetdataformats::ColdataSegment::adc1ch3_1

Definition at line 217 of file WIBFrame.hpp.

◆ adc1ch3_2

word_t dunedaq::fddetdataformats::ColdataSegment::adc1ch3_2

Definition at line 217 of file WIBFrame.hpp.

◆ s_num_ch_per_seg

int dunedaq::fddetdataformats::ColdataSegment::s_num_ch_per_seg = 8
staticconstexpr

Definition at line 211 of file WIBFrame.hpp.


The documentation for this struct was generated from the following file: