DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
trgdataformats
include
trgdataformats
TriggerCandidateData.hpp
Go to the documentation of this file.
1
15
16
#ifndef TRGDATAFORMATS_INCLUDE_TRGDATAFORMATS_TRIGGERCANDIDATEDATA_HPP_
17
#define TRGDATAFORMATS_INCLUDE_TRGDATAFORMATS_TRIGGERCANDIDATEDATA_HPP_
18
19
#include "
trgdataformats/Types.hpp
"
20
21
#include <array>
22
#include <cstdint>
23
#include <map>
24
#include <string>
25
26
namespace
dunedaq::trgdataformats
{
27
28
struct
TriggerCandidateData
29
{
30
// If you add an enum to TriggerCandidateData::Type, declare it
31
// second-to-last (just above kFinalEnum) and ensure its value is +1
32
// greater than the enum above it
33
34
enum class
Type
:
int
35
{
36
kUnknown = 0,
37
kTiming = 1,
38
kTPCLowE = 2,
39
kSupernova = 3,
40
kRandom = 4,
41
kPrescale = 5,
42
kADCSimpleWindow = 6,
43
kHorizontalMuon = 7,
44
kMichelElectron = 8,
45
kPlaneCoincidence = 9,
46
kDBSCAN = 10,
47
kChannelDistance = 11,
48
kBundle = 12,
49
kCTBFakeTrigger = 13,
50
kCTBBeam = 14,
51
kCTBBeamChkvHL = 15,
52
kCTBCustomD = 16,
53
kCTBCustomE = 17,
54
kCTBCustomF = 18,
55
kCTBCustomG = 19,
56
kCTBBeamChkvHLx = 20,
57
kCTBBeamChkvHxL = 21,
58
kCTBBeamChkvHxLx = 22,
59
kNeutronSourceCalib = 23,
60
kChannelAdjacency = 24,
61
kCIBFakeTrigger = 25,
62
kCIBLaserTriggerP1 = 26,
63
kCIBLaserTriggerP2 = 27,
64
kCIBLaserTriggerP3 = 28,
65
kCTBOffSpillSnapshot = 29,
66
kCTBOffSpillCosmicJura = 30,
67
kCTBOffSpillCRTCosmic= 31,
68
kCTBBeamSpillStart = 32,
69
kCTBBeamSpillSnapshot = 33,
70
kCTBCustomC = 34,
71
kCTBCustomPulseTrain = 35,
72
kDTSPulser = 36,
73
kDTSCosmic = 37,
74
kSSPLEDCalibration = 38,
75
kProtoDUNEBSMWindow = 39,
76
kFinalEnum
77
};
78
79
enum class
Algorithm
:
int
80
{
81
kUnknown = 0,
82
kSupernova = 1,
83
kHSIEventToTriggerCandidate = 2,
84
kPrescale = 3,
85
kADCSimpleWindow = 4,
86
kHorizontalMuon = 5,
87
kMichelElectron = 6,
88
kPlaneCoincidence = 7,
89
kCustom = 8,
90
kDBSCAN = 9,
91
kChannelDistance = 10,
92
kBundle = 11,
93
kChannelAdjacency = 12,
94
};
95
96
static
constexpr
version_t
s_trigger_candidate_version
= 3;
97
98
version_t
version
=
s_trigger_candidate_version
;
99
timestamp_t
time_start
=
TypeDefaults::s_invalid_timestamp
;
100
timestamp_t
time_end
=
TypeDefaults::s_invalid_timestamp
;
101
timestamp_t
time_candidate
=
TypeDefaults::s_invalid_timestamp
;
102
// TODO P. Rodrigues 2021-01-06: This was originally a
103
// std::vector<detid_t> but that messes up the overlay scheme, so
104
// I've changed it for now to be just a detid_t. Need to work out
105
// what to do longer term
106
detid_t
detid
=
TypeDefaults::s_invalid_detid
;
107
Type
type
=
Type::kUnknown
;
108
Algorithm
algorithm
=
Algorithm::kUnknown
;
109
};
110
111
inline
TriggerCandidateData::Type
112
string_to_trigger_candidate_type
(
const
std::string& name);
113
114
inline
std::string
115
trigger_candidate_type_to_string
(
const
TriggerCandidateData::Type
type
);
116
117
}
// namespace dunedaq::trgdataformats
118
119
#include "
detail/TriggerCandidateData.hxx
"
120
121
// This static_assert is meant to alert the developer to bump the
122
// version if variables are added or removed in TriggerCandidateData
123
static_assert
(
124
dunedaq::trgdataformats::TriggerCandidateData::s_trigger_candidate_version
== 3 &&
125
sizeof
(
dunedaq::trgdataformats::TriggerCandidateData
) == 48,
126
"An unexpected size for the current version of TriggerCandidateData was found"
127
);
128
129
#endif
// TRGDATAFORMATS_INCLUDE_TRGDATAFORMATS_TRIGGERCANDIDATEDATA_HPP_
type
type
Definition
TriggerActivity_serialization.hpp:48
TriggerCandidateData.hxx
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::version_t
uint8_t version_t
Definition
Types.hpp:59
dunedaq::trgdataformats::detid_t
uint8_t detid_t
Definition
Types.hpp:48
dunedaq::trgdataformats::trigger_candidate_type_to_string
std::string trigger_candidate_type_to_string(const TriggerCandidateData::Type type)
Definition
TriggerCandidateData.hxx:81
dunedaq::trgdataformats::timestamp_t
uint64_t timestamp_t
Definition
Types.hpp:38
dunedaq::trgdataformats::TriggerCandidateData
Definition
TriggerCandidateData.hpp:29
dunedaq::trgdataformats::TriggerCandidateData::type
Type type
Definition
TriggerCandidateData.hpp:107
dunedaq::trgdataformats::TriggerCandidateData::s_trigger_candidate_version
static constexpr version_t s_trigger_candidate_version
Definition
TriggerCandidateData.hpp:96
dunedaq::trgdataformats::TriggerCandidateData::time_candidate
timestamp_t time_candidate
Definition
TriggerCandidateData.hpp:101
dunedaq::trgdataformats::TriggerCandidateData::version
version_t version
Definition
TriggerCandidateData.hpp:98
dunedaq::trgdataformats::TriggerCandidateData::Type
Type
Definition
TriggerCandidateData.hpp:35
dunedaq::trgdataformats::TriggerCandidateData::Type::kUnknown
@ kUnknown
Definition
TriggerCandidateData.hpp:36
dunedaq::trgdataformats::TriggerCandidateData::time_end
timestamp_t time_end
Definition
TriggerCandidateData.hpp:100
dunedaq::trgdataformats::TriggerCandidateData::Algorithm
Algorithm
Definition
TriggerCandidateData.hpp:80
dunedaq::trgdataformats::TriggerCandidateData::Algorithm::kUnknown
@ kUnknown
Definition
TriggerCandidateData.hpp:81
dunedaq::trgdataformats::TriggerCandidateData::time_start
timestamp_t time_start
Definition
TriggerCandidateData.hpp:99
dunedaq::trgdataformats::TriggerCandidateData::algorithm
Algorithm algorithm
Definition
TriggerCandidateData.hpp:108
dunedaq::trgdataformats::TriggerCandidateData::detid
detid_t detid
Definition
TriggerCandidateData.hpp:106
dunedaq::trgdataformats::TypeDefaults::s_invalid_timestamp
static constexpr timestamp_t s_invalid_timestamp
Definition
Types.hpp:63
dunedaq::trgdataformats::TypeDefaults::s_invalid_detid
static constexpr detid_t s_invalid_detid
Definition
Types.hpp:64
Types.hpp
Generated on
for DUNE-DAQ by
1.18.0