Belle II Software development
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
14namespace 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.