ATLAS Offline Software
BCM_RodEncoder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // BCM_RodEncoder.h
7 // Header file for class BCM_RodEncoder
11 // Version 00-00-01 12/05/2008 Daniel Dobos
12 // Version 00-00-11 05/02/2009 Daniel Dobos
14 
15 #ifndef BCM_RAWDATABYTESTREAMCNV_BCM_RODENCODER_H
16 #define BCM_RAWDATABYTESTREAMCNV_BCM_RODENCODER_H
17 
18 #include <inttypes.h>
19 
21 
23 {
24 public:
25 
26  typedef BCM_RawData RDO;
28  typedef std::vector<const RDO*> VRDO ;
29 
30  // constructor
32 
33  // destructor
35 
36  // addRdo
37  void addRdo(const RDO * rdo) {
38  m_RDOs.push_back(rdo);
39  }
40 
41  // setRodMinorVersion
42  void setRodMinorVersion (unsigned short RodBlockVersion) {
43  m_RodBlockVersion = RodBlockVersion;
44  }
45 
46  // fill the Rod
47  void fillROD(std::vector<uint32_t>& v, int BCs_per_LVL1ID);
48 
49 private:
50 
51  unsigned int encode_data_block(std::vector<uint32_t>& data_block, unsigned int BCID, unsigned int Pulse1Position[8], unsigned int Pulse1Width[8], unsigned int Pulse2Position[8], unsigned int Pulse2Width[8], unsigned int Error);
52 
53  unsigned int getDataword_position(int ChannelID);
54 
55  unsigned short m_RodBlockVersion;
57 
58 };
59 
60 #endif
BCM_RodEncoder::BCM_RawContainer
BCM_RDO_Container BCM_RawContainer
Definition: BCM_RodEncoder.h:27
BCM_RodEncoder::BCM_RodEncoder
BCM_RodEncoder()
Definition: BCM_RodEncoder.cxx:19
BCM_RodEncoder
Definition: BCM_RodEncoder.h:23
BCM_RodEncoder::fillROD
void fillROD(std::vector< uint32_t > &v, int BCs_per_LVL1ID)
Definition: BCM_RodEncoder.cxx:33
BCM_RodEncoder::~BCM_RodEncoder
~BCM_RodEncoder()
Definition: BCM_RodEncoder.cxx:26
PixelByteStreamErrors::BCID
@ BCID
Definition: PixelByteStreamErrors.h:13
BCM_RodEncoder::RDO
BCM_RawData RDO
Definition: BCM_RodEncoder.h:26
BCM_RDO_Container
Definition: BCM_RDO_Container.h:27
BCM_RawData
Definition: BCM_RawData.h:36
BCM_RodEncoder::getDataword_position
unsigned int getDataword_position(int ChannelID)
Definition: BCM_RodEncoder.cxx:130
InDetBCM_RawDataCLASS_DEF.h
BCM_RodEncoder::m_RDOs
VRDO m_RDOs
Definition: BCM_RodEncoder.h:56
python.PyAthena.v
v
Definition: PyAthena.py:157
BCM_RodEncoder::encode_data_block
unsigned int encode_data_block(std::vector< uint32_t > &data_block, unsigned int BCID, unsigned int Pulse1Position[8], unsigned int Pulse1Width[8], unsigned int Pulse2Position[8], unsigned int Pulse2Width[8], unsigned int Error)
Definition: BCM_RodEncoder.cxx:73
L1Topo::Error
Error
The different types of error that can be flagged in the L1TopoRDO.
Definition: Error.h:16
BCM_RodEncoder::setRodMinorVersion
void setRodMinorVersion(unsigned short RodBlockVersion)
Definition: BCM_RodEncoder.h:42
BCM_RodEncoder::VRDO
std::vector< const RDO * > VRDO
Definition: BCM_RodEncoder.h:28
BCM_RodEncoder::addRdo
void addRdo(const RDO *rdo)
Definition: BCM_RodEncoder.h:37
BCM_RodEncoder::m_RodBlockVersion
unsigned short m_RodBlockVersion
Definition: BCM_RodEncoder.h:55