mu2e_artdaq_core  v1_02_14
 All Classes Functions
FragmentType.hh
1 #ifndef mu2e_artdaq_core_Overlays_FragmentType_hh
2 #define mu2e_artdaq_core_Overlays_FragmentType_hh
3 #include "artdaq-core/Data/Fragment.hh"
4 
5 namespace mu2e {
6 static std::vector<std::string> const names{"MISSED", "DTC", "MU2E", "TRK", "CAL", "CRV", "DBG", "UNKNOWN"};
7 
8 namespace detail {
9 enum FragmentType : artdaq::Fragment::type_t
10 {
11  EMPTY = artdaq::Fragment::EmptyFragmentType,
12  MISSED = artdaq::Fragment::FirstUserFragmentType,
13  DTC,
14  MU2E,
15  TRK, // Tracker fragment
16  CAL, // Calorimeter fragment
17  CRV, // Cosmic Ray Veto fragment
18  DBG, // Debug Packet Fragment
19  INVALID // Should always be last.
20 };
21 
22 // Safety check.
23 static_assert(artdaq::Fragment::isUserFragmentType(FragmentType::INVALID - 1), "Too many user-defined fragments!");
24 } // namespace detail
25 
26 using detail::FragmentType;
27 
28 FragmentType toFragmentType(std::string t_string);
29 std::string fragmentTypeToString(FragmentType val);
30 
35 std::map<artdaq::Fragment::type_t, std::string> makeFragmentTypeMap();
36 } // namespace mu2e
37 #endif /* mu2e_artdaq_Overlays_FragmentType_hh */