This class provides conversion from TRT RDO to ROD format.
More...
#include <TRT_RodEncoder.h>
This class provides conversion from TRT RDO to ROD format.
Definition at line 23 of file TRT_RodEncoder.h.
◆ RDO
◆ VRDO
◆ TRT_RodEncoder()
TRT_RodEncoder::TRT_RodEncoder |
( |
| ) |
|
◆ ~TRT_RodEncoder()
TRT_RodEncoder::~TRT_RodEncoder |
( |
| ) |
|
|
default |
◆ addRdo()
void TRT_RodEncoder::addRdo |
( |
const RDO * |
rdo | ) |
|
|
inline |
◆ fillROD()
StatusCode TRT_RodEncoder::fillROD |
( |
std::vector< uint32_t > & |
v | ) |
|
conversion of ROD into ROD fragment
for a given ROD fragment, convert TRT RDOs to a vector of 32bit words
Definition at line 36 of file TRT_RodEncoder.cxx.
39 return StatusCode::FAILURE;
41 int TRT_MaxBufferSize = 120*16;
43 v32rod.resize(TRT_MaxBufferSize,0 );
53 while ( rdo_it != rdo_it_end )
57 StrawWord = rawdata->getWord();
58 StrawID = rawdata->identify();
66 v32rod[BufferOffset] = StrawWord;
71 return StatusCode::SUCCESS;
◆ fillROD3()
StatusCode TRT_RodEncoder::fillROD3 |
( |
std::vector< uint32_t > & |
v | ) |
|
conversion of ROD into compressed ROD fragment
for a given ROD fragment, compression versions convert TRT RDOs to a vector of 32bit words
Definition at line 77 of file TRT_RodEncoder.cxx.
80 return StatusCode::FAILURE;
82 const int TRT_MaxBufferSize = 120*16;
83 int tmp_data[TRT_MaxBufferSize] = {0};
85 std::deque<bool> bitstowrite;
95 while ( rdo_it != rdo_it_end )
99 StrawWord = rawdata->getWord();
100 StrawID = rawdata->identify();
102 BufferOffset =
m_CablingSvc->getBufferOffset( StrawID );
108 tmp_data[BufferOffset] = StrawWord;
113 for (
int i=0;
i<TRT_MaxBufferSize;
i++ )
120 bitstowrite.push_back( 0 );
121 bitstowrite.push_back( 0 );
122 bitstowrite.push_back( 0 );
123 bitstowrite.push_back( 0 );
124 bitstowrite.push_back( 0 );
131 for (
int j=0; j<27; j++ )
132 bitstowrite.push_back( (tmp_data[
i] >> j) & 1 );
135 bitstowrite.push_back( 1 );
142 while ( ! bitstowrite.empty() )
144 out_word = out_word | ( (bitstowrite.front()?1:0) << bit_in_word );
145 bitstowrite.pop_front();
148 if ( bit_in_word > 31 )
150 v32rod.push_back( out_word );
156 if ( 0 != bit_in_word )
157 v32rod.push_back( out_word );
159 return StatusCode::SUCCESS;
◆ set_trt_cabling()
◆ set_trt_IdHelper()
void TRT_RodEncoder::set_trt_IdHelper |
( |
const TRT_ID * |
trt_id | ) |
|
|
inline |
◆ setRodMinorVersion()
void TRT_RodEncoder::setRodMinorVersion |
( |
unsigned short |
RodBlockVersion | ) |
|
|
inline |
◆ m_CablingSvc
◆ m_RDOs
VRDO TRT_RodEncoder::m_RDOs |
|
private |
◆ m_RodBlockVersion
unsigned short TRT_RodEncoder::m_RodBlockVersion |
|
private |
◆ m_trt_id
The documentation for this class was generated from the following files: