DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
trgdataformats
include
trgdataformats
detail
TriggerCandidateData.hxx
Go to the documentation of this file.
1
2
namespace
dunedaq::trgdataformats
{
3
4
// tcinfo_t is a constexpr-declarable container of pairs, each pair
5
// connecting a TriggerCandidateData::Type with its name
6
using
tcinfo_t
= std::array<std::pair<TriggerCandidateData::Type, std::string_view>,
7
static_cast<
size_t
>
(
TriggerCandidateData::Type::kFinalEnum
)>;
8
9
inline
const
tcinfo_t
&
10
get_trigger_candidate_type_names
()
11
{
12
// This container needs to be updated for each new TC type, as this is used
13
// when configuring Trigger Bitwords, affecting trigger logic in
14
// trigger::MLT
15
16
static
constexpr
tcinfo_t
names { {
17
{
TriggerCandidateData::Type::kUnknown
,
"kUnknown"
},
18
{
TriggerCandidateData::Type::kTiming
,
"kTiming"
},
19
{
TriggerCandidateData::Type::kTPCLowE
,
"kTPCLowE"
},
20
{
TriggerCandidateData::Type::kSupernova
,
"kSupernova"
},
21
{
TriggerCandidateData::Type::kRandom
,
"kRandom"
},
22
{
TriggerCandidateData::Type::kPrescale
,
"kPrescale"
},
23
{
TriggerCandidateData::Type::kADCSimpleWindow
,
"kADCSimpleWindow"
},
24
{
TriggerCandidateData::Type::kHorizontalMuon
,
"kHorizontalMuon"
},
25
{
TriggerCandidateData::Type::kMichelElectron
,
"kMichelElectron"
},
26
{
TriggerCandidateData::Type::kPlaneCoincidence
,
"kPlaneCoincidence"
},
27
{
TriggerCandidateData::Type::kDBSCAN
,
"kDBSCAN"
},
28
{
TriggerCandidateData::Type::kChannelDistance
,
"kChannelDistance"
},
29
{
TriggerCandidateData::Type::kBundle
,
"kBundle"
},
30
{
TriggerCandidateData::Type::kCTBFakeTrigger
,
"kCTBFakeTrigger"
},
31
{
TriggerCandidateData::Type::kCTBBeam
,
"kCTBBeam"
},
32
{
TriggerCandidateData::Type::kCTBBeamChkvHL
,
"kCTBBeamChkvHL"
},
33
{
TriggerCandidateData::Type::kCTBCustomD
,
"kCTBCustomD"
},
34
{
TriggerCandidateData::Type::kCTBCustomE
,
"kCTBCustomE"
},
35
{
TriggerCandidateData::Type::kCTBCustomF
,
"kCTBCustomF"
},
36
{
TriggerCandidateData::Type::kCTBCustomG
,
"kCTBCustomG"
},
37
{
TriggerCandidateData::Type::kCTBBeamChkvHLx
,
"kCTBBeamChkvHLx"
},
38
{
TriggerCandidateData::Type::kCTBBeamChkvHxL
,
"kCTBBeamChkvHxL"
},
39
{
TriggerCandidateData::Type::kCTBBeamChkvHxLx
,
"kCTBBeamChkvHxLx"
},
40
{
TriggerCandidateData::Type::kNeutronSourceCalib
,
"kNeutronSourceCalib"
},
41
{
TriggerCandidateData::Type::kChannelAdjacency
,
"kChannelAdjacency"
},
42
{
TriggerCandidateData::Type::kCIBFakeTrigger
,
"kCIBFakeTrigger"
},
43
{
TriggerCandidateData::Type::kCIBLaserTriggerP1
,
"kCIBLaserTriggerP1"
},
44
{
TriggerCandidateData::Type::kCIBLaserTriggerP2
,
"kCIBLaserTriggerP2"
},
45
{
TriggerCandidateData::Type::kCIBLaserTriggerP3
,
"kCIBLaserTriggerP3"
},
46
{
TriggerCandidateData::Type::kCTBOffSpillSnapshot
,
"kCTBOffSpillSnapshot"
},
47
{
TriggerCandidateData::Type::kCTBOffSpillCosmicJura
,
"kCTBOffSpillCosmicJura"
},
48
{
TriggerCandidateData::Type::kCTBOffSpillCRTCosmic
,
"kCTBOffSpillCRTCosmic"
},
49
{
TriggerCandidateData::Type::kCTBBeamSpillStart
,
"kCTBBeamSpillStart"
},
50
{
TriggerCandidateData::Type::kCTBBeamSpillSnapshot
,
"kCTBBeamSpillSnapshot"
},
51
{
TriggerCandidateData::Type::kCTBCustomC
,
"kCTBCustomC"
},
52
{
TriggerCandidateData::Type::kCTBCustomPulseTrain
,
"kCTBCustomPulseTrain"
},
53
{
TriggerCandidateData::Type::kDTSPulser
,
"kDTSPulser"
},
54
{
TriggerCandidateData::Type::kDTSCosmic
,
"kDTSCosmic"
},
55
{
TriggerCandidateData::Type::kSSPLEDCalibration
,
"kSSPLEDCalibration"
},
56
{
TriggerCandidateData::Type::kProtoDUNEBSMWindow
,
"kProtoDUNEBSMWindow"
}
57
}
58
};
59
60
61
// Check to ensure that if a new TriggerCandidateData::Type is
62
// created, this function is updated accordingly
63
64
// The string in a default-initialized {type, string} pair will
65
// boolean-equal ""
66
static_assert
(names[names.size() - 1].second !=
""
,
"The container providing names for TriggerCandidateData::Type values appears to be incomplete"
);
67
68
return
names;
69
}
70
71
inline
TriggerCandidateData::Type
72
string_to_trigger_candidate_type
(
const
std::string& name) {
73
for
(
const
auto
& [
type
, type_name] :
get_trigger_candidate_type_names
()) {
74
if
(type_name == name)
75
return
type
;
76
}
77
return
TriggerCandidateData::Type::kUnknown
;
78
}
79
80
inline
std::string
81
trigger_candidate_type_to_string
(
const
TriggerCandidateData::Type
type
) {
82
try
{
83
const
auto
& [dummy, type_name] {
get_trigger_candidate_type_names
().at(
static_cast<
size_t
>
(
type
)) };
84
return
std::string(type_name);
85
86
}
catch
(std::exception &e) {
87
return
"kUnknown"
;
88
}
89
}
90
91
}
// namespace dunedaq::trgdataformats
type
type
Definition
TriggerActivity_serialization.hpp:48
dunedaq::trgdataformats
Definition
TriggerCandidateData.hxx:2
dunedaq::trgdataformats::string_to_trigger_candidate_type
TriggerCandidateData::Type string_to_trigger_candidate_type(const std::string &name)
Definition
TriggerCandidateData.hxx:72
dunedaq::trgdataformats::tcinfo_t
std::array< std::pair< TriggerCandidateData::Type, std::string_view >, static_cast< size_t >(TriggerCandidateData::Type::kFinalEnum)> tcinfo_t
Definition
TriggerCandidateData.hxx:6
dunedaq::trgdataformats::get_trigger_candidate_type_names
const tcinfo_t & get_trigger_candidate_type_names()
Definition
TriggerCandidateData.hxx:10
dunedaq::trgdataformats::trigger_candidate_type_to_string
std::string trigger_candidate_type_to_string(const TriggerCandidateData::Type type)
Definition
TriggerCandidateData.hxx:81
dunedaq::trgdataformats::TriggerCandidateData::Type
Type
Definition
TriggerCandidateData.hpp:35
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBBeamChkvHLx
@ kCTBBeamChkvHLx
Definition
TriggerCandidateData.hpp:56
dunedaq::trgdataformats::TriggerCandidateData::Type::kChannelAdjacency
@ kChannelAdjacency
Definition
TriggerCandidateData.hpp:60
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBOffSpillSnapshot
@ kCTBOffSpillSnapshot
Definition
TriggerCandidateData.hpp:65
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBCustomD
@ kCTBCustomD
Definition
TriggerCandidateData.hpp:52
dunedaq::trgdataformats::TriggerCandidateData::Type::kProtoDUNEBSMWindow
@ kProtoDUNEBSMWindow
Definition
TriggerCandidateData.hpp:75
dunedaq::trgdataformats::TriggerCandidateData::Type::kUnknown
@ kUnknown
Definition
TriggerCandidateData.hpp:36
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBBeamSpillStart
@ kCTBBeamSpillStart
Definition
TriggerCandidateData.hpp:68
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBFakeTrigger
@ kCTBFakeTrigger
Definition
TriggerCandidateData.hpp:49
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBCustomE
@ kCTBCustomE
Definition
TriggerCandidateData.hpp:53
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBCustomF
@ kCTBCustomF
Definition
TriggerCandidateData.hpp:54
dunedaq::trgdataformats::TriggerCandidateData::Type::kHorizontalMuon
@ kHorizontalMuon
Definition
TriggerCandidateData.hpp:43
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBBeam
@ kCTBBeam
Definition
TriggerCandidateData.hpp:50
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBCustomG
@ kCTBCustomG
Definition
TriggerCandidateData.hpp:55
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBOffSpillCosmicJura
@ kCTBOffSpillCosmicJura
Definition
TriggerCandidateData.hpp:66
dunedaq::trgdataformats::TriggerCandidateData::Type::kChannelDistance
@ kChannelDistance
Definition
TriggerCandidateData.hpp:47
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBBeamChkvHL
@ kCTBBeamChkvHL
Definition
TriggerCandidateData.hpp:51
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBCustomPulseTrain
@ kCTBCustomPulseTrain
Definition
TriggerCandidateData.hpp:71
dunedaq::trgdataformats::TriggerCandidateData::Type::kCIBLaserTriggerP1
@ kCIBLaserTriggerP1
Definition
TriggerCandidateData.hpp:62
dunedaq::trgdataformats::TriggerCandidateData::Type::kFinalEnum
@ kFinalEnum
Definition
TriggerCandidateData.hpp:76
dunedaq::trgdataformats::TriggerCandidateData::Type::kDTSPulser
@ kDTSPulser
Definition
TriggerCandidateData.hpp:72
dunedaq::trgdataformats::TriggerCandidateData::Type::kTPCLowE
@ kTPCLowE
Definition
TriggerCandidateData.hpp:38
dunedaq::trgdataformats::TriggerCandidateData::Type::kTiming
@ kTiming
Definition
TriggerCandidateData.hpp:37
dunedaq::trgdataformats::TriggerCandidateData::Type::kCIBLaserTriggerP3
@ kCIBLaserTriggerP3
Definition
TriggerCandidateData.hpp:64
dunedaq::trgdataformats::TriggerCandidateData::Type::kDTSCosmic
@ kDTSCosmic
Definition
TriggerCandidateData.hpp:73
dunedaq::trgdataformats::TriggerCandidateData::Type::kADCSimpleWindow
@ kADCSimpleWindow
Definition
TriggerCandidateData.hpp:42
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBBeamChkvHxLx
@ kCTBBeamChkvHxLx
Definition
TriggerCandidateData.hpp:58
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBBeamChkvHxL
@ kCTBBeamChkvHxL
Definition
TriggerCandidateData.hpp:57
dunedaq::trgdataformats::TriggerCandidateData::Type::kCIBFakeTrigger
@ kCIBFakeTrigger
Definition
TriggerCandidateData.hpp:61
dunedaq::trgdataformats::TriggerCandidateData::Type::kBundle
@ kBundle
Definition
TriggerCandidateData.hpp:48
dunedaq::trgdataformats::TriggerCandidateData::Type::kPrescale
@ kPrescale
Definition
TriggerCandidateData.hpp:41
dunedaq::trgdataformats::TriggerCandidateData::Type::kDBSCAN
@ kDBSCAN
Definition
TriggerCandidateData.hpp:46
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBCustomC
@ kCTBCustomC
Definition
TriggerCandidateData.hpp:70
dunedaq::trgdataformats::TriggerCandidateData::Type::kPlaneCoincidence
@ kPlaneCoincidence
Definition
TriggerCandidateData.hpp:45
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBBeamSpillSnapshot
@ kCTBBeamSpillSnapshot
Definition
TriggerCandidateData.hpp:69
dunedaq::trgdataformats::TriggerCandidateData::Type::kSSPLEDCalibration
@ kSSPLEDCalibration
Definition
TriggerCandidateData.hpp:74
dunedaq::trgdataformats::TriggerCandidateData::Type::kMichelElectron
@ kMichelElectron
Definition
TriggerCandidateData.hpp:44
dunedaq::trgdataformats::TriggerCandidateData::Type::kNeutronSourceCalib
@ kNeutronSourceCalib
Definition
TriggerCandidateData.hpp:59
dunedaq::trgdataformats::TriggerCandidateData::Type::kSupernova
@ kSupernova
Definition
TriggerCandidateData.hpp:39
dunedaq::trgdataformats::TriggerCandidateData::Type::kRandom
@ kRandom
Definition
TriggerCandidateData.hpp:40
dunedaq::trgdataformats::TriggerCandidateData::Type::kCTBOffSpillCRTCosmic
@ kCTBOffSpillCRTCosmic
Definition
TriggerCandidateData.hpp:67
dunedaq::trgdataformats::TriggerCandidateData::Type::kCIBLaserTriggerP2
@ kCIBLaserTriggerP2
Definition
TriggerCandidateData.hpp:63
Generated on
for DUNE-DAQ by
1.18.0