ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonByteStreamCnvTest
src
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"
10
#include "
MuonRDO/RpcPadContainer.h
"
11
#include "
TrigT1RPChardware/MatrixReadOutStructure.h
"
12
#include "
TrigT1RPChardware/PadReadOutStructure.h
"
13
#include "
TrigT1RPClogic/RPCbytestream.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
25
class
RpcByteStreamEncoder
{
26
public
:
27
// Constructor and destructor
28
RpcByteStreamEncoder
(
const
RpcPadContainer
* padContainer);
29
~RpcByteStreamEncoder
();
30
31
StatusCode
encodeByteStream
();
32
33
RpcByteStream
*
getByteStream
() {
return
m_byteStream
; };
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
46
const
RpcPadContainer
*
m_padContainer
;
47
RpcByteStream
*
m_byteStream
;
48
unsigned
int
m_byteStreamWord
;
49
bool
m_highest
;
50
};
51
52
#endif
// MUONBYTESTREAM_RPCBYTESTREAMENCODER_H
MatrixReadOutStructure.h
PadReadOutStructure.h
RPCbytestream.h
CMA_Readout
std::map< int, CMAreadout, std::less< int > > CMA_Readout
Definition
RpcByteStreamDecoder.h:21
PAD_Readout
std::map< int, PADreadout, std::less< int > > PAD_Readout
Definition
RpcByteStreamDecoder.h:22
ubit16
unsigned short int ubit16
Definition
RpcByteStreamEncoder.h:20
RpcByteStream
std::vector< unsigned int > RpcByteStream
Definition
RpcByteStreamEncoder.h:23
RpcPadContainer.h
RpcByteStreamEncoder::addMatrix
void addMatrix(const RpcCoinMatrix *matrix)
Definition
RpcByteStreamEncoder.cxx:45
RpcByteStreamEncoder::m_byteStreamWord
unsigned int m_byteStreamWord
Definition
RpcByteStreamEncoder.h:48
RpcByteStreamEncoder::getByteStream
RpcByteStream * getByteStream()
Definition
RpcByteStreamEncoder.h:33
RpcByteStreamEncoder::addFiredChannel
void addFiredChannel(const RpcFiredChannel *firedChannel)
Definition
RpcByteStreamEncoder.cxx:69
RpcByteStreamEncoder::addRx
void addRx()
Definition
RpcByteStreamEncoder.cxx:24
RpcByteStreamEncoder::m_padContainer
const RpcPadContainer * m_padContainer
Definition
RpcByteStreamEncoder.h:46
RpcByteStreamEncoder::~RpcByteStreamEncoder
~RpcByteStreamEncoder()
RpcByteStreamEncoder::encodeByteStream
StatusCode encodeByteStream()
Definition
RpcByteStreamEncoder.cxx:12
RpcByteStreamEncoder::addPad
void addPad(const RpcPad *pad)
Definition
RpcByteStreamEncoder.cxx:26
RpcByteStreamEncoder::addWord
void addWord(ubit16 dataWord)
Definition
RpcByteStreamEncoder.cxx:85
RpcByteStreamEncoder::RpcByteStreamEncoder
RpcByteStreamEncoder(const RpcPadContainer *padContainer)
Definition
RpcByteStreamEncoder.cxx:7
RpcByteStreamEncoder::m_byteStream
RpcByteStream * m_byteStream
Definition
RpcByteStreamEncoder.h:47
RpcByteStreamEncoder::m_highest
bool m_highest
Definition
RpcByteStreamEncoder.h:49
RpcCoinMatrix
Definition
RpcCoinMatrix.h:20
RpcFiredChannel
Definition
RpcFiredChannel.h:20
RpcPadContainer
Use IdentifiableContainer with RpcPad.
Definition
RpcPadContainer.h:23
RpcPad
Definition
RpcPad.h:21
Generated on
for ATLAS Offline Software by
1.17.0