ATLAS Offline Software
Loading...
Searching...
No Matches
RpcByteStreamDecoder.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 RPCBYTESTREAMDECODER_H
6#define RPCBYTESTREAMDECODER_H
7
8#include "GaudiKernel/MsgStream.h"
9#include "GaudiKernel/StatusCode.h"
11#include "MuonRDO/RpcPad.h"
15
16// Decode a RPCbytestream object and build the bare RPC RDO's
17// Stefano Rosati
18// Jan 2003
19
20// typedefs
21typedef std::map<int, CMAreadout, std::less<int> > CMA_Readout;
22typedef std::map<int, PADreadout, std::less<int> > PAD_Readout;
23
25public:
26 // Constructor and destructor
27 RpcByteStreamDecoder(const RPCbytestream* p_bytestream, const RpcCablingCondData* readCdo, const RpcIdHelper* rpcId,
28 MsgStream* log = nullptr);
30
31 // Decode the bytestream coming from the LVL1 simulation
32 StatusCode decodeByteStream();
33
34 // Retrieve the vector of RDO's (RpcPad)
35 std::vector<RpcPad*>* getPads() { return m_rpcpads; };
36
37 // Printout the RDO's for testing
38 void print();
39
40private:
41 // Pad and Matrix decoding functions
44
45 // Data members
49 std::vector<RpcPad*>* m_rpcpads;
50
51 MsgStream* m_log;
52 bool m_debug;
54
57};
58
59#endif // RPCBYTESTREAMDECODER_H
std::map< int, CMAreadout, std::less< int > > CMA_Readout
std::map< int, PADreadout, std::less< int > > PAD_Readout
RpcCoinMatrix * decodeMatrix(MatrixReadOut *matrix, Identifier &id)
const RpcCablingCondData * m_cabling
RpcPad * decodePad(PADreadout &pad)
const RpcIdHelper * m_rpcIdHelper
std::vector< RpcPad * > * m_rpcpads
RpcByteStreamDecoder(const RpcByteStreamDecoder &)
RpcByteStreamDecoder & operator=(const RpcByteStreamDecoder &right)
RpcByteStreamDecoder(const RPCbytestream *p_bytestream, const RpcCablingCondData *readCdo, const RpcIdHelper *rpcId, MsgStream *log=nullptr)
std::vector< RpcPad * > * getPads()
const RPCbytestream * m_bytestream