5 bool CSCSPRecord::unpack(
const unsigned short* &buf,
unsigned int nonmasked_data_blocks,
bool empty_blocks_suppressed,
unsigned int tbin)
throw() {
6 memcpy((
void*)
this, buf, 8*
sizeof(
short));
9 bool unpackError =
check();
15 bzero(meFilled,
sizeof(meFilled));
16 bzero(mbFilled,
sizeof(mbFilled));
17 bzero(spFilled,
sizeof(spFilled));
29 if( nonmasked_data_blocks &
id[
block] &&
30 (!empty_blocks_suppressed || vp_bits&(1<<
block)) ){
32 unpackError |= me[mpc][link].unpack(buf);
33 me[mpc][link].tbin_ = tbin;
34 me[mpc][link].valid_pattern = vp_bits&(1<<
block);
35 me[mpc][link].sync_error = se_bits&(1<<
block);
36 me[mpc][link].sync_modified = sm_bits&(1<<
block);
37 me[mpc][link].alignment_fifo= af_bits&(1<<
block);
38 me[mpc][link].bxBit = bx_bits&(1<<
block);
39 me[mpc][link].spInput_ =
block+1;
40 meFilled[mpc][link] =
true;
45 (!empty_blocks_suppressed || (
block?vq_b:vq_a) )){
46 unpackError |= mb[
block].unpack(buf);
47 mb[
block].tbin_ = tbin;
49 mb[
block].alignment_fifo= (
block?af_barrel_2:af_barrel_1);
50 mb[
block].bxBit = (
block?bx_barrel_2:bx_barrel_1);
52 mbFilled[
block] =
true;
58 (!empty_blocks_suppressed || (
block==0?mode1:(
block==1?mode2:mode3))) ){
59 unpackError |= sp[
block].unpack(buf);
60 sp[
block].tbin_ = tbin;
63 spFilled[
block] =
true;
70 std::vector<CSCSP_MEblock>
result;
71 for(
int mpc=0; mpc<5; mpc++)
72 for(
int link=0; link<3; link++)
73 if(
meFilled[mpc][link]) result.push_back(
me[mpc][link]);
78 std::vector<CSCSP_MEblock>
result;
80 for(
int link=0; link<3; link++)
81 if(
meFilled[mpc][link]) result.push_back(
me[mpc][link]);
85 std::vector<CSCSP_MEblock>
CSCSPRecord::LCT(
unsigned int mpc,
unsigned int link)
const throw(){
86 std::vector<CSCSP_MEblock>
result;
88 if(
meFilled[mpc][link]) result.push_back(
me[mpc][link]);
93 std::vector<CSCSP_SPblock>
result;
101 std::vector<CSCSP_MBblock>
result;
std::vector< CSCSP_MBblock > mbStubs(void) const
std::vector< CSCSP_MEblock > LCT(unsigned int mpc, unsigned int link) const
bool unpack(const unsigned short *&buf, unsigned int nonmasked_data_blocks, bool empty_blocks_suppressed, unsigned int tbin)
std::vector< CSCSP_SPblock > tracks(void) const
std::vector< CSCSP_MEblock > LCTs(void) const