00001 #ifndef mu2e_artdaq_core_Overlays_FragmentType_hh
00002 #define mu2e_artdaq_core_Overlays_FragmentType_hh
00003 #include "artdaq-core/Data/Fragment.hh"
00004
00005 namespace mu2e {
00006 static std::vector<std::string> const names{ "MISSED", "DTC", "MU2E", "TRK", "CAL", "CRV", "DBG", "UNKNOWN" };
00007
00008 namespace detail {
00009 enum FragmentType : artdaq::Fragment::type_t
00010 { EMPTY = artdaq::Fragment::EmptyFragmentType,
00011 MISSED = artdaq::Fragment::FirstUserFragmentType,
00012 DTC,
00013 MU2E,
00014 TRK,
00015 CAL,
00016 CRV,
00017 DBG,
00018 INVALID
00019 };
00020
00021
00022 static_assert(artdaq::Fragment::isUserFragmentType(FragmentType::INVALID - 1),
00023 "Too many user-defined fragments!");
00024 }
00025
00026 using detail::FragmentType;
00027
00028 FragmentType toFragmentType(std::string t_string);
00029 std::string fragmentTypeToString(FragmentType val);
00030 }
00031 #endif