ATLAS Offline Software
Loading...
Searching...
No Matches
L1CaloErrorByteStreamTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGT1CALOBYTESTREAM_L1CALOERRORBYTESTREAMTOOL_H
6#define TRIGT1CALOBYTESTREAM_L1CALOERRORBYTESTREAMTOOL_H
7
8#include <stdint.h>
9
10#include <map>
11#include <string>
12#include <vector>
13
17
18class IInterface;
19class InterfaceID;
20class StatusCode;
21
22namespace LVL1BS {
23
28
30
31 public:
32 L1CaloErrorByteStreamTool(const std::string& type, const std::string& name,
33 const IInterface* parent);
35
37 static const InterfaceID& interfaceID();
38
39 virtual StatusCode initialize() override;
40 virtual StatusCode finalize() override;
41
43 void robError(uint32_t robid, unsigned int err) const;
45 void rodError(uint32_t robid, unsigned int err) const;
47 StatusCode errors(std::vector<unsigned int>* errColl) const;
48
49 private:
50
51 // FIXME: do this in a sane way...
52 typedef std::map<uint32_t, unsigned int> ErrorMap;
53 struct ErrorMaps {
54 // Maps of accumulated errors
57 std::mutex m_mutex;
58 };
60};
61
62} // end namespace
63
64#endif
Maintain a set of objects, one per slot.
Define macros for attributes used to control the static checker.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
L1CaloErrorByteStreamTool(const std::string &type, const std::string &name, const IInterface *parent)
SG::SlotSpecificObj< ErrorMaps > m_maps ATLAS_THREAD_SAFE
static const InterfaceID & interfaceID()
AlgTool InterfaceID.
void rodError(uint32_t robid, unsigned int err) const
Set ROD unpacking error.
std::map< uint32_t, unsigned int > ErrorMap
void robError(uint32_t robid, unsigned int err) const
Set ROB status error.
StatusCode errors(std::vector< unsigned int > *errColl) const
Fill vector with accumulated errors and reset.
Maintain a set of objects, one per slot.