Belle II Software  release-08-01-10
PXDErrorFlags.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 #include <string>
12 #include <bitset>
13 
14 namespace Belle2 {
20  namespace PXD {
21  namespace PXDError {
24  enum { ONSEN_MAX_TYPE_ERR = 128};
25 
29  enum { ONSEN_USED_TYPE_ERR = 64};
30 
33  typedef std::bitset <ONSEN_MAX_TYPE_ERR> PXDErrorFlags;
34 
36  const PXDError::PXDErrorFlags getVerboseMask(void);
38  const PXDError::PXDErrorFlags getSilenceMask(void);
39 
40  // TODO: reorder and remove unused, might not be backward compatible!
45  enum EPXDErrNr : int {
46  //
47  c_nrEVENT_STRUCT = 0,
48  c_nrFRAME_TNR_MM = 1,
49  c_nrMETA_MM = 2,
50  c_nrONSEN_TRG_FIRST = 3,
51  //
52  c_nrDHC_END_MISS = 4,
53  c_nrNR_FRAMES_TO_SMALL = 5,
54  c_nrROI_PACKET_INV_SIZE = 6,
55  c_nrDATA_OUTSIDE = 7,
56  //
57  c_nrDHC_START_SECOND = 8,
58  c_nrDHE_WRONG_ID_SEQ = 9,
59  c_nrFIX_SIZE = 10,
60  c_nrDHE_CRC = 11,
61  //
62  c_nrDHC_UNKNOWN = 12,
63  c_nrHEADERTYPE_INV = 13,
64  c_nrPACKET_SIZE = 14,
65  c_nrMAGIC = 15,
66  //
67  c_nrFRAME_NR = 16,
68  c_nrFRAME_SIZE = 17,
69  c_nrHLTROI_MAGIC = 18,
70  c_nrMERGER_TRIGNR = 19,
71  //
72  c_nrDHP_SIZE = 20,
73  c_nrDHE_DHP_DHEID = 21,
74  c_nrDHE_DHP_PORT = 22,
75  c_nrDHP_PIX_WO_ROW = 23,
76  //
77  c_nrDHE_START_END_ID = 24,
78  c_nrDHE_START_ID = 25,
79  c_nrDHE_START_WO_END = 26,
80  c_nrNO_PXD = 27,
81  //
82  c_nrNO_DATCON = 28,
83  c_nrFAKE_NO_DATA_TRIG = 29,
84  c_nrDHE_ACTIVE = 30,
85  c_nrDHP_ACTIVE = 31,
86  //
87  c_nrSENDALL_TYPE = 32,
88  c_nrNOTSENDALL_TYPE = 33,
89  c_nrDHP_DBL_HEADER = 34,
90  c_nrHEADER_ERR = 35,
91  //
92  c_nrHEADER_ERR_GHOST = 36,
93  c_nrSUSP_PADDING = 37,
94  c_nrDHC_WIE = 38,
95  c_nrDHE_WIE = 39,
96  //
97  c_nrROW_OVERFLOW = 40,
98  c_nrDHP_NOT_CONT = 41,
99  c_nrDHP_DHP_FRAME_DIFFER = 42,
100  c_nrDHP_DHE_FRAME_DIFFER = 43,
101  //
102  c_nrDHE_ID_INVALID = 44,
103  c_nrDHC_DHCID_START_END_MM = 45,
104  c_nrDHE_END_WO_START = 46,
105  c_nrDHC_END_DBL = 47,
106  //
107  c_nrMETA_MM_DHC = 48,
108  c_nrMETA_MM_DHE = 49,
109  c_nrCOL_OVERFLOW = 50,
110  c_nrUNEXPECTED_FRAME_TYPE = 51,
111  //
112  c_nrMETA_MM_DHC_ERS = 52,
113  c_nrMETA_MM_DHC_TT = 53,
114  c_nrMETA_MM_ONS_HLT = 54,
115  c_nrMETA_MM_ONS_DC = 55,
116  //
117  c_nrEVT_TRG_GATE_DIFFER = 56,
118  c_nrEVT_TRG_FRM_NR_DIFFER = 57,
119  c_nrDHP_ROW_WO_PIX = 58,
120  c_nrDHE_START_THIRD = 59,
121  //
122  c_nrFAKE_NO_FAKE_DATA = 60,
123  c_nrUNUSABLE_DATA = 61,
124  c_nrDHH_END_ERRORBITS = 62,
125  c_nrDHH_MISC_ERROR = 63,
126  //
127  };
128 
133  const std::string& getPXDBitErrorName(int bit);
134 
135  } // end namespace PXDError
136 
137  } // end namespace PXD
139 } // end namespace Belle2
Abstract base class for different kinds of events.