61 out <<
"Information on " <<
db.nBoardInfo() <<
" boards recorded:";
62 for (BoardInfoLookup::BoardInfo_t
const& boardInfo:
db.allBoardInfo()) {
63 assert(boardInfo.setup);
64 out <<
"\n board \"" << boardInfo.setup->name
65 <<
"\" (fragment ID " << std::hex << boardInfo.fragmentID << std::dec
66 <<
"): trigger delay " << boardInfo.setup->triggerDelay
67 <<
", TTT reset delay " << boardInfo.setup->TTTresetDelay
68 <<
", pre-trigger buffer length " << boardInfo.facts.preTriggerTime;
69 if (boardInfo.config) {
70 out <<
", buffer " << boardInfo.config->bufferLength
71 <<
" tick long, board ID " << boardInfo.config->boardID
72 <<
" with " << boardInfo.config->nChannels <<
" channels";
75 out <<
" (no PMT configuration)";
78 std::vector<std::size_t> specialChannels;
79 for (
auto const& [ iChannel, chSetup ]
82 if (!chSetup.isDefault()) specialChannels.push_back(iChannel);
84 if (specialChannels.empty())
continue;
85 out <<
"; " << specialChannels.size() <<
" special channel configurations:";
86 for (std::size_t
const iCh: specialChannels) {
87 out <<
"\n ch.number " << iCh <<
": "
88 << boardInfo.setup->channelSettings[iCh];
auto enumerate(Iterables &&...iterables)
Range-for loop helper tracking the number of iteration.
height to which particles are projected pnfs larsoft persistent physics cosmics Fermilab CORSIKA standard He_showers_ * db