ATLAS Offline Software
Loading...
Searching...
No Matches
RpcByteStreamEncoder.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#ifndef MUONBYTESTREAM_RPCBYTESTREAMENCODER_H
6#define MUONBYTESTREAM_RPCBYTESTREAMENCODER_H
7
8#include "GaudiKernel/MsgStream.h"
9#include "GaudiKernel/StatusCode.h"
14
15// Builds a RPCbytestream object from the bare RPC RDO's
16// Stefano Rosati
17// Jan 2003
18
19// typedefs
20typedef unsigned short int ubit16;
21typedef std::map<int, CMAreadout, std::less<int> > CMA_Readout;
22typedef std::map<int, PADreadout, std::less<int> > PAD_Readout;
23typedef std::vector<unsigned int> RpcByteStream;
24
26public:
27 // Constructor and destructor
28 RpcByteStreamEncoder(const RpcPadContainer* padContainer);
30
31 StatusCode encodeByteStream();
32
34
35private:
36 // Encode RDO's
37 void addRx();
38 void addPad(const RpcPad* pad);
39 void addMatrix(const RpcCoinMatrix* matrix);
40 void addFiredChannel(const RpcFiredChannel* firedChannel);
41
42 // Add a 16 bit word to the 32 bits bytestream
43 void addWord(ubit16 dataWord);
44
45 // Data members
48 unsigned int m_byteStreamWord;
50};
51
52#endif // MUONBYTESTREAM_RPCBYTESTREAMENCODER_H
std::map< int, CMAreadout, std::less< int > > CMA_Readout
std::map< int, PADreadout, std::less< int > > PAD_Readout
unsigned short int ubit16
std::vector< unsigned int > RpcByteStream
void addMatrix(const RpcCoinMatrix *matrix)
RpcByteStream * getByteStream()
void addFiredChannel(const RpcFiredChannel *firedChannel)
const RpcPadContainer * m_padContainer
void addPad(const RpcPad *pad)
void addWord(ubit16 dataWord)
RpcByteStreamEncoder(const RpcPadContainer *padContainer)
Use IdentifiableContainer with RpcPad.