mu2e_artdaq_core  v1_02_00
 All Classes
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  { EMPTY = artdaq::Fragment::EmptyFragmentType,
11  MISSED = artdaq::Fragment::FirstUserFragmentType,
12  DTC,
13  MU2E,
14  TRK, // Tracker fragment
15  CAL, // Calorimeter fragment
16  CRV, // Cosmic Ray Veto fragment
17  DBG, // Debug Packet Fragment
18  INVALID // Should always be last.
19  };
20 
21  // Safety check.
22  static_assert(artdaq::Fragment::isUserFragmentType(FragmentType::INVALID - 1),
23  "Too many user-defined fragments!");
24  }
25 
26  using detail::FragmentType;
27 
28  FragmentType toFragmentType(std::string t_string);
29  std::string fragmentTypeToString(FragmentType val);
30 }
31 #endif /* mu2e_artdaq_Overlays_FragmentType_hh */