1 #ifndef artdaq_core_Data_detail_RawFragmentHeaderV0_hh
2 #define artdaq_core_Data_detail_RawFragmentHeaderV0_hh
10 #include "artdaq-core/Data/detail/RawFragmentHeader.hh"
11 #include "artdaq-core/Data/dictionarycontrol.hh"
12 #include "artdaq-core/Utilities/TimeUtils.hh"
13 #include "cetlib_except/exception.h"
21 struct RawFragmentHeaderV0;
70 return std::map<type_t, std::string>{
82 return std::map<type_t, std::string>{
119 constexpr
static std::size_t
num_words();
151 inline constexpr std::size_t
162 "sizeof(RawFragmentHeader) is not an integer "
163 "multiple of sizeof(RawDataType)!");
168 if (utype < FIRST_USER_TYPE || utype > LAST_USER_TYPE)
170 throw cet::exception(
"InvalidValue")
171 <<
"RawFragmentHeader user types must be in the range of "
172 <<
static_cast<int>(FIRST_SYSTEM_TYPE) <<
" to " << static_cast<int>(LAST_SYSTEM_TYPE)
173 <<
" (bad type is " <<
static_cast<int>(utype) <<
").";
181 if (stype < FIRST_SYSTEM_TYPE /*|| stype > LAST_SYSTEM_TYPE*/)
183 throw cet::exception(
"InvalidValue")
184 <<
"RawFragmentHeader system types must be in the range of "
185 <<
static_cast<int>(FIRST_SYSTEM_TYPE) <<
" to " << static_cast<int>(LAST_SYSTEM_TYPE);