ATLAS Offline Software
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
20 typedef unsigned short int ubit16;
21 typedef std::map<int, CMAreadout, std::less<int> > CMA_Readout;
22 typedef std::map<int, PADreadout, std::less<int> > PAD_Readout;
23 typedef std::vector<unsigned int> RpcByteStream;
24 
26 public:
27  // Constructor and destructor
28  RpcByteStreamEncoder(const RpcPadContainer* padContainer);
30 
32 
34 
35 private:
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;
49  bool m_highest;
50 };
51 
52 #endif // MUONBYTESTREAM_RPCBYTESTREAMENCODER_H
RpcByteStreamEncoder::m_highest
bool m_highest
Definition: RpcByteStreamEncoder.h:49
PadReadOutStructure.h
RpcByteStream
std::vector< unsigned int > RpcByteStream
Definition: RpcByteStreamEncoder.h:23
RpcByteStreamEncoder::m_byteStreamWord
unsigned int m_byteStreamWord
Definition: RpcByteStreamEncoder.h:48
RpcByteStreamEncoder::addPad
void addPad(const RpcPad *pad)
Definition: RpcByteStreamEncoder.cxx:26
CMA_Readout
std::map< int, CMAreadout, std::less< int > > CMA_Readout
Definition: RpcByteStreamEncoder.h:21
RpcByteStreamEncoder::RpcByteStreamEncoder
RpcByteStreamEncoder(const RpcPadContainer *padContainer)
Definition: RpcByteStreamEncoder.cxx:7
RpcByteStreamEncoder::addRx
void addRx()
Definition: RpcByteStreamEncoder.cxx:24
RpcCoinMatrix
Definition: RpcCoinMatrix.h:20
RpcFiredChannel
Definition: RpcFiredChannel.h:20
RpcByteStreamEncoder::addWord
void addWord(ubit16 dataWord)
Definition: RpcByteStreamEncoder.cxx:85
RpcByteStreamEncoder::encodeByteStream
StatusCode encodeByteStream()
Definition: RpcByteStreamEncoder.cxx:12
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PAD_Readout
std::map< int, PADreadout, std::less< int > > PAD_Readout
Definition: RpcByteStreamEncoder.h:22
RpcByteStreamEncoder::m_padContainer
const RpcPadContainer * m_padContainer
Definition: RpcByteStreamEncoder.h:46
RpcByteStreamEncoder::addFiredChannel
void addFiredChannel(const RpcFiredChannel *firedChannel)
Definition: RpcByteStreamEncoder.cxx:69
RpcByteStreamEncoder::~RpcByteStreamEncoder
~RpcByteStreamEncoder()
RpcPad
Definition: RpcPad.h:21
python.testIfMatch.matrix
matrix
Definition: testIfMatch.py:66
RpcByteStreamEncoder::m_byteStream
RpcByteStream * m_byteStream
Definition: RpcByteStreamEncoder.h:47
RPCbytestream.h
MatrixReadOutStructure.h
RpcByteStreamEncoder::getByteStream
RpcByteStream * getByteStream()
Definition: RpcByteStreamEncoder.h:33
RpcPadContainer.h
RpcByteStreamEncoder::addMatrix
void addMatrix(const RpcCoinMatrix *matrix)
Definition: RpcByteStreamEncoder.cxx:45
ubit16
unsigned short int ubit16
Definition: RpcByteStreamEncoder.h:20
RpcByteStreamEncoder
Definition: RpcByteStreamEncoder.h:25
RpcPadContainer
Use IdentifiableContainer with RpcPad.
Definition: RpcPadContainer.h:23