ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonConditions
MuonByteStreamErrors
MuonByteStreamErrors
RpcByteStreamErrorContainer.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/***************************************************************************
6
MuonByteStreamErrors package
7
RpcByteStreamErrorContainer class
8
-----------------------------------------
9
***************************************************************************/
10
11
12
#ifndef MUONBYTESTREAMERRORS_RPCBYTESTREAMERRORCONTAINER_H
13
#define MUONBYTESTREAMERRORS_RPCBYTESTREAMERRORCONTAINER_H
14
15
16
#include "
Identifier/IdentifierHash.h
"
17
#include "
AthContainers/DataVector.h
"
18
#include "
AthenaKernel/CLASS_DEF.h
"
19
20
21
namespace
Muon
{
22
enum
RpcBSerrorTypes
{
23
NoError
,
24
CMHeaderErrors
,
// CM related error (from 0 to 8 in a pad)
25
CMSubHeaderErrors
,
// CM related error
26
CMFooterErrors
,
// CM related error
27
CRC8checkFailures
,
// CM related error
28
CMmissing
,
// CM related error
29
RXHeaderErrors
,
// PAD related error (0 or 1 on a pad)
30
RXSubHeaderErrors
,
31
PADHeaderErrors
,
32
PADSubHeaderErrors
,
33
PADPreFooterErrors
,
34
PADFooterErrors
,
35
PADmissing
,
36
SLHeaderErrors
,
37
SLSubHeaderErrors
,
38
SLFooterErrors
,
39
RXFooterErrors
,
40
Rpc_NUM_ERROR_TYPES
// always have this one last, so we can use it as a loop index
41
};
42
// For a given pad (uniquely identified by an IdentifierHash: first item or key in the pair) the error code (second item in the pair) keep the whole
43
// information on the errors met in the pad fragment decoding;
44
//
45
// If there are CM errors in the pad, the error code is built as ValueCM=100+sum(value*10^cmid) over all cmids with errors;
46
// value in the range 1-5, i.e. CMHeaderErrors - CRC8checkFailures;
47
// If there's a Pad error, the error code is set to ValuePad+ValueCM, with ValuePad in the range 5-Rpc_NUM_ERROR_TYPES-1
48
49
class
RpcByteStreamErrorContainer
50
{
51
public
:
52
typedef
DataVector<std::pair<IdentifierHash, int>
>
::const_iterator
rpcErrorIterator
;
53
54
RpcByteStreamErrorContainer
();
55
RpcByteStreamErrorContainer
(
const
DataVector
<std::pair<IdentifierHash, int> > & errorVector );
56
~RpcByteStreamErrorContainer
();
57
58
void
clear
();
59
void
addError
(
IdentifierHash
,
int
);
60
int
getError
(
IdentifierHash
)
const
;
61
std::vector<IdentifierHash>
getPadsWithError
()
const
;
62
63
const
DataVector<std::pair<IdentifierHash, int>
>&
getAllErrors
()
const
;
64
65
private
:
66
DataVector<std::pair<IdentifierHash, int>
>
m_errorVector
;
67
};
68
69
}
70
71
CLASS_DEF
(
Muon::RpcByteStreamErrorContainer
, 1200798491 , 1 )
72
#endif
// MUONBYTESTREAMERRORS_RPCBYTESTREAMERRORCONTAINER_H
73
CLASS_DEF.h
macros to associate a CLID to a type
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition
Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
IdentifierHash.h
const_iterator
DataVector
Derived DataVector<T>.
Definition
DataVector.h:795
IdentifierHash
This is a "hash" representation of an Identifier.
Definition
IdentifierHash.h:25
Muon::RpcByteStreamErrorContainer
Definition
RpcByteStreamErrorContainer.h:50
Muon::RpcByteStreamErrorContainer::getPadsWithError
std::vector< IdentifierHash > getPadsWithError() const
Definition
RpcByteStreamErrorContainer.cxx:56
Muon::RpcByteStreamErrorContainer::getError
int getError(IdentifierHash) const
Definition
RpcByteStreamErrorContainer.cxx:38
Muon::RpcByteStreamErrorContainer::m_errorVector
DataVector< std::pair< IdentifierHash, int > > m_errorVector
Definition
RpcByteStreamErrorContainer.h:66
Muon::RpcByteStreamErrorContainer::RpcByteStreamErrorContainer
RpcByteStreamErrorContainer()
Definition
RpcByteStreamErrorContainer.cxx:10
Muon::RpcByteStreamErrorContainer::rpcErrorIterator
DataVector< std::pair< IdentifierHash, int > >::const_iterator rpcErrorIterator
Definition
RpcByteStreamErrorContainer.h:52
Muon::RpcByteStreamErrorContainer::getAllErrors
const DataVector< std::pair< IdentifierHash, int > > & getAllErrors() const
Definition
RpcByteStreamErrorContainer.cxx:22
Muon::RpcByteStreamErrorContainer::addError
void addError(IdentifierHash, int)
Definition
RpcByteStreamErrorContainer.cxx:27
Muon::RpcByteStreamErrorContainer::clear
void clear()
Definition
RpcByteStreamErrorContainer.cxx:34
Muon::RpcByteStreamErrorContainer::~RpcByteStreamErrorContainer
~RpcByteStreamErrorContainer()
Definition
RpcByteStreamErrorContainer.cxx:18
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition
TrackSystemController.h:46
Muon::RpcBSerrorTypes
RpcBSerrorTypes
Definition
RpcByteStreamErrorContainer.h:22
Muon::RXFooterErrors
@ RXFooterErrors
Definition
RpcByteStreamErrorContainer.h:39
Muon::CMSubHeaderErrors
@ CMSubHeaderErrors
Definition
RpcByteStreamErrorContainer.h:25
Muon::SLFooterErrors
@ SLFooterErrors
Definition
RpcByteStreamErrorContainer.h:38
Muon::CMHeaderErrors
@ CMHeaderErrors
Definition
RpcByteStreamErrorContainer.h:24
Muon::PADFooterErrors
@ PADFooterErrors
Definition
RpcByteStreamErrorContainer.h:34
Muon::Rpc_NUM_ERROR_TYPES
@ Rpc_NUM_ERROR_TYPES
Definition
RpcByteStreamErrorContainer.h:40
Muon::SLHeaderErrors
@ SLHeaderErrors
Definition
RpcByteStreamErrorContainer.h:36
Muon::PADPreFooterErrors
@ PADPreFooterErrors
Definition
RpcByteStreamErrorContainer.h:33
Muon::PADmissing
@ PADmissing
Definition
RpcByteStreamErrorContainer.h:35
Muon::NoError
@ NoError
Definition
RpcByteStreamErrorContainer.h:23
Muon::CMmissing
@ CMmissing
Definition
RpcByteStreamErrorContainer.h:28
Muon::CMFooterErrors
@ CMFooterErrors
Definition
RpcByteStreamErrorContainer.h:26
Muon::RXHeaderErrors
@ RXHeaderErrors
Definition
RpcByteStreamErrorContainer.h:29
Muon::PADHeaderErrors
@ PADHeaderErrors
Definition
RpcByteStreamErrorContainer.h:31
Muon::CRC8checkFailures
@ CRC8checkFailures
Definition
RpcByteStreamErrorContainer.h:27
Muon::RXSubHeaderErrors
@ RXSubHeaderErrors
Definition
RpcByteStreamErrorContainer.h:30
Muon::PADSubHeaderErrors
@ PADSubHeaderErrors
Definition
RpcByteStreamErrorContainer.h:32
Muon::SLSubHeaderErrors
@ SLSubHeaderErrors
Definition
RpcByteStreamErrorContainer.h:37
Generated on
for ATLAS Offline Software by
1.17.0