4 #define HBD_MAX_MODULES 4
49 while ( pos < dlength - 10)
55 if ( (k[pos] & 0xF0000000) == 0xF0000000 )
61 log_mod_nr = k[
pos] & 0xf;
62 l1_trig_nr = k[pos+1] & 0xfff;
63 beam_clock = k[pos+2] & 0xfff;
64 phys_mod_nr = k[pos+3] & 0x1f;
72 if ( log_mod_nr >= HBD_MAX_MODULES)
74 std::cout << __FILE__ <<
" " << __LINE__
75 <<
" wrong logical module number " << log_mod_nr << std::endl;
100 while ( (k[pos] & 0xF0000000) == 0xE0000000 )
103 int f_channr = (( k[
pos] >>16 ) & 0x3f);
108 while ( (k[pos] & 0xC0000000) == 0x40000000 )
110 int adc0 = ( k[
pos] & 0xfff);
112 int adc1 = ( (k[
pos]>>16) & 0xfff);
129 if ( (k[pos] & 0xE0000000) == 0xA0000000 )
151 if (ich < 0 || ich >=
nr_modules *48)
return 0;
153 if ( is == 100)
return (
iValue(ich,0) +
iValue(ich,1));
154 if ( is == 101)
return (
iValue(ich,4));
155 if ( is == 102)
return (
iValue(ich,10) +
iValue(ich,11));
171 if (strcmp(what,
"TRIGGER") == 0)
183 else if (strcmp(what,
"BCLK") == 0)
196 else if (strcmp(what,
"NRSAMPLES") == 0)
201 else if (strcmp(what,
"MODULEID") == 0)
214 else if (strcmp(what,
"NRMODULES") == 0)
226 else if (strcmp(what,
"PARITY") == 0)
252 os <<
" Number of Modules: " <<
SETW(8) <<
iValue(0,
"NRMODULES") <<
" Parity: " <<
SETW(8) << std::hex <<
iValue(0,
"PARITY") << std::dec << std::endl;
253 os <<
" Number of Samples: " <<
SETW(8) <<
iValue(0,
"NRSAMPLES") << std::endl;
256 for (i = 0; i <
iValue(0,
"NRMODULES"); i++)
258 os <<
" Module # " << std::setw(2) << i
259 <<
" Trigger: " <<
SETW(8) <<
iValue(i,
"TRIGGER")
260 <<
" Beam Clock: " <<
SETW(8) <<
iValue(i,
"BCLK")
261 <<
" Module Id: " <<
SETW(8) <<
iValue(i,
"MODULEID")
265 for (i = 0; i <
iValue(0,
"NRMODULES") * 48 ; i++)
267 os << std::setw(5) << i <<
" | " ;
270 os << std::setw(5) <<
iValue(i,j);