All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
sbn::ExtraTriggerInfo::CryostatInfo Struct Reference

Trigger data pertaining a single cryostat. More...

#include <ExtraTriggerInfo.h>

Public Member Functions

constexpr bool hasLVDS () const
 Returns whether there is some recorded LVDS activity. More...
 

Public Attributes

unsigned long int triggerCount { 0 }
 Count of triggers in this cryostat. More...
 
std::array< std::uint64_t,
MaxWalls
LVDSstatus { 0U, 0U }
 Status of LVDS signals from PMT pairs at the time of the trigger. More...
 

Detailed Description

Trigger data pertaining a single cryostat.

Definition at line 192 of file ExtraTriggerInfo.h.

Member Function Documentation

constexpr bool sbn::ExtraTriggerInfo::CryostatInfo::hasLVDS ( ) const

Returns whether there is some recorded LVDS activity.

Definition at line 283 of file ExtraTriggerInfo.h.

283  {
284  // C++20:
285  // return std::ranges::any_of(LVDSstatus, std::identity{});
286  for (std::uint64_t bits: LVDSstatus) if (bits) return true;
287  return false;
288 } // sbn::ExtraTriggerInfo::CryostatInfo::empty()
std::array< std::uint64_t, MaxWalls > LVDSstatus
Status of LVDS signals from PMT pairs at the time of the trigger.

Member Data Documentation

std::array<std::uint64_t, MaxWalls> sbn::ExtraTriggerInfo::CryostatInfo::LVDSstatus { 0U, 0U }

Status of LVDS signals from PMT pairs at the time of the trigger.

There is one status per PMT wall (index mnemonic constants: EastPMTwall and WestPMTwall).

ICARUS

Bits are 48 per wall, 8 pairs from each on 6 PMT readout boards. For the position of the PMT generating a LVDS channel, refer to the configuration of the trigger emulation.

The 48 bits are distributed in the value as follow:

  • the south part (lower z, lower channel number) is in the first 32-bit
  • the north part (upper z, higher channel number) is in the last 32-bit

The 8 most significant bits of each 32-bit half-word are zeroed. Then the most significant bits match the lowest channel numbers (lower z). Splitting the detector in six regions (of 15 PMT each) so that it looks, from south to north: AA|BB|CC|DD|EE|FF, the bit mask of the six parts (each with 15 PMT, 8 LVDS channels, 8 bits) looks like: 00AABBCC'00DDEEFF.

Definition at line 221 of file ExtraTriggerInfo.h.

unsigned long int sbn::ExtraTriggerInfo::CryostatInfo::triggerCount { 0 }

Count of triggers in this cryostat.

Definition at line 194 of file ExtraTriggerInfo.h.


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