1 #ifndef artdaq_core_Data_detail_RawFragmentHeader_hh
2 #define artdaq_core_Data_detail_RawFragmentHeader_hh
9 #include "artdaq-core/Data/dictionarycontrol.hh"
10 #include "cetlib/exception.h"
22 struct RawFragmentHeader;
70 return std::map<type_t, std::string>{
83 return std::map<type_t, std::string>{
113 return "EndOfSubrun";
152 static constexpr std::size_t
num_words();
186 "sizeof(RawFragmentHeader) is not an integer "
187 "multiple of sizeof(RawDataType)!");
193 if (utype < FIRST_USER_TYPE || utype > LAST_USER_TYPE)
195 throw cet::exception(
"InvalidValue")
196 <<
"RawFragmentHeader user types must be in the range of "
197 << ((int)FIRST_USER_TYPE) <<
" to " << ((int)LAST_USER_TYPE)
198 <<
" (bad type is " << ((int)utype) <<
").";
207 if (stype < FIRST_SYSTEM_TYPE /*|| stype > LAST_SYSTEM_TYPE*/)
209 throw cet::exception(
"InvalidValue")
210 <<
"RawFragmentHeader system types must be in the range of "
211 << ((int)FIRST_SYSTEM_TYPE) <<
" to " << ((int)LAST_SYSTEM_TYPE);