25 << indent <<
"Gate Active: " << gateConfig.
hasGate <<
"\n";
30 << indent <<
"Drift gate Active: " << gateConfig.
hasDriftGate <<
"\n"
31 << indent <<
"MinBias Gate Active: " << gateConfig.
hasMinBiasGate <<
"\n"
36 out << indent <<
"MinBias Drift Gate Active: " << gateConfig.
hasMinBiasDriftGate <<
" (ignored)\n";
39 out << indent <<
"BeamWidth: " << (gateConfig.
gateWidth - vetoDelay) <<
" ns";
41 out <<
" (plus the veto of " << vetoDelay <<
" ns)";
44 out << indent <<
"EnableWidth: " << gateConfig.
driftGateWidth <<
" ns\n";
50 out << indent <<
"MinBias PreScale: " << gateConfig.
prescaleMinBias <<
"\n";
55 out << indent <<
"Drift gate Active: " << gateConfig.
hasDriftGate <<
" (ignored)\n";
57 out << indent <<
"MinBias Gate Active: " << gateConfig.
hasMinBiasGate <<
" (ignored)\n";
59 out << indent <<
"MinBias Drift Gate Active: " << gateConfig.
hasMinBiasDriftGate <<
" (ignored)\n";
63 out << std::noboolalpha;
69 std::string
const& indent, std::string
const& firstIndent,
70 unsigned int verbosity
79 = [&out,&indent]() -> std::ostream& {
return out <<
'\n' << indent; };
81 unsigned int level = 0U;
86 <<
"Basic trigger configuration:";
87 outnl() <<
" Use WR time: " << std::boolalpha <<
useWrTime << std::noboolalpha;
90 if (++level > verbosity)
break;
93 auto printWindowMode = [&out](
unsigned int slidingWindow){
94 switch (slidingWindow) {
95 case 0: out <<
"fixed";
break;
96 case 1: out <<
"sliding";
break;
97 default: out <<
"unknown";
99 out <<
" (" << slidingWindow <<
")";
102 outnl() <<
"FPGA Configuration:";
103 outnl() <<
" Veto Delay: " <<
vetoDelay <<
" ns";
106 outnl() <<
" WindowCryoEAST: ";
110 outnl() <<
" WindowCryoWEST: ";
113 outnl() <<
" RunType: '" <<
runType <<
"'";
117 if (++level > verbosity)
return;
121 <<
"SPEXI Configuration:\n";
123 out << indent <<
" TPCTriggerDelay: " << (
tpcTriggerDelay * 0.0004) <<
" ms ("
126 out << indent <<
" BNB:\n";
129 out << indent <<
" NuMI:\n";
132 out << indent <<
" Offbeam BNB:\n";
135 out << indent <<
" Offbeam NuMI:\n";
139 out << indent <<
" Calibration:\n";
141 if (gateConfig[icarus::trigger::kCalibration].hasGate) {
145 if (++level > verbosity)
break;
151 outnl() <<
"No more information available (reached level " << level <<
").";
std::string runType
Force the run to be fully a MinBias, if runType=="MinBias". If runType=="Majority" does a majority ru...
bool hasDriftGate
Return drift gate activation status (for out-of-time light)
static constexpr std::size_t kOffBeamNuMI
static constexpr std::size_t kWest
std::array< CryoConfig, icarus::trigger::kNTriggerLocation > cryoConfig
Cryostat configuration.
bool hasGate
Return gate activation.
static constexpr std::size_t kBNB
Information from the configuration of the ICARUS trigger readout.
void dumpGateConfig(std::ostream &out, icarus::TriggerConfiguration::GateConfig const &gateConfig, std::string const &indent) const
Dumps the content of the gate configuration into out stream.
static constexpr std::size_t kCalibration
unsigned int period
Period of two consecutive pulses from the internal pulse generator (valid for calibration gate) in ns...
unsigned int wrTimeOffset
Add an offset between the npt and tai time as used in the wr reference (normally it is 1 or 2 leap se...
static constexpr std::size_t kNuMI
bool hasMinBiasGate
Return MinBias triggers activation status.
static constexpr std::size_t kOffBeamBNB
unsigned long prescaleMinBias
Prescale for the MinBias triggers (calculated with respect to the number of gates opened) ...
void dump(std::ostream &out, std::string const &indent, std::string const &firstIndent, unsigned int verbosity=MaxDumpVerbosity) const
Dumps the content of the configuration into out stream.
bool useWrTime
Use the WR time reference.
unsigned int tpcTriggerDelay
TPCTriggerDelay: distance between the Global trigger time and the output for the TPC. NB: It is in units of 400 ns.
bool hasMinBiasDriftGate
Return MinBias drift gate activation status (for out-of-time light)
unsigned int vetoDelay
Veto (this delay has to be subtracted to the gate width ). Value is in ns.
static constexpr std::size_t kEast
unsigned int gateWidth
Duration of the gate for the in-time activity in ns.
static constexpr unsigned int MaxDumpVerbosity
Maximum supported verbosity level supported by dump().
static constexpr unsigned int DefaultDumpVerbosity
Default verbosity level for dump().
unsigned long earlyEarlyWarningOffset
Early Early warning offset for the BNB (NuMI) $1D ($AE) in ns; used for the drift gate...
unsigned long earlyWarningOffset
Early warning offset for the BNB (NuMI) GatedBES ($MIBS74) in ns; used for the beam gate...
unsigned int driftGateWidth
Duration of the drift gate for the out-of-time activity in ns.
std::string majorityTriggerType
Majority trigger type (consider triggers from one cryostats, either cryostats, or both cryostats) ...