CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
OmtfDataWord64.h
Go to the documentation of this file.
1 #ifndef DataFormat_L1TMuon_Omtf_DataWord64_H
2 #define DataFormat_L1TMuon_Omtf_DataWord64_H
3 
4 #include <cstdint>
5 #include <iostream>
6 #include <vector>
7 #include <map>
8 
9 namespace omtf {
10 
11  typedef uint64_t Word64;
12 
13  typedef std::map<std::pair<unsigned int, unsigned int>, std::vector<Word64> > FedAmcRawsMap;
14 
15  namespace DataWord64 {
16  enum Type { csc = 0xC, dt = 0xD, rpc = 0xE, omtf = 0xF };
17  template <typename T>
18  Type type(const T &);
19  template <>
20  inline Type type<Word64>(const Word64 &data) {
21  return static_cast<Type>(data >> 60);
22  }
23  template <>
24  inline Type type<unsigned int>(const unsigned int &intType) {
25  return static_cast<Type>(intType);
26  }
27  std::ostream &operator<<(std::ostream &out, const Type &o);
28  }; // namespace DataWord64
29 
30 } // namespace omtf
31 #endif
std::map< std::pair< unsigned int, unsigned int >, std::vector< Word64 > > FedAmcRawsMap
std::ostream & operator<<(std::ostream &out, const Type &o)
Type type(const T &)
uint64_t Word64
unsigned long long uint64_t
Definition: Time.h:13
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
long double T