Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:20:37

0001 #include "oncsSub_idsis3300r.h"
0002 
0003 oncsSub_idsis3300r::oncsSub_idsis3300r(subevtdata_ptr data)
0004   :oncsSub_idsis3300 (data)
0005 {
0006   samples = 0;
0007   decoded = 0;
0008 
0009 }
0010   
0011 int *oncsSub_idsis3300r::decode ( int * p)
0012 {
0013   if ( decoded) 
0014     {
0015       p = 0;
0016       return 0;
0017     }
0018   int c, i;
0019 
0020   decoded = 1;
0021 
0022   int *SubeventData = &SubeventHdr->data;
0023 
0024   samples = (*SubeventData) & 0xffff;
0025   wraparound = (*SubeventData) >> 16;
0026 
0027   for ( c = 0; c < 4; c++)
0028     {
0029 
0030       for ( i = 0; i< samples; i++)
0031     {
0032       v[c*2].push_back ( (SubeventData[ c* samples + i+1] >> 16) & 0x3fff );
0033       v[c*2+1].push_back ( SubeventData[ c* samples + i+1] & 0x3fff );
0034     }
0035     }
0036 
0037   p = 0;
0038   return 0;
0039 }
0040 
0041 int oncsSub_idsis3300r::iValue(const int ch ,const int s)
0042 {
0043   if ( decoded == 0  ) decoded_data1 = decode(&data1_length);
0044 
0045   if ( ch < 0 || ch >7 ) return 0;
0046   if ( s < 0 || s >=samples ) return 0;
0047 
0048   return v[ch][s];
0049 
0050 }
0051