int byteCount_Version; /* Transfer count in MS 24 bits; Version in LS 8 bits */ TrgOfflen OffsetBlock[MAX_OFFSET]; /* Offset/length into transferData */ int transferData[1]; /* Place holder array for trigger, BTOW and ETOW */ } TrgTowerTrnfer; /* Maximum possible length 103124 bytes */
* struct below defines how to navigate above triple data block. typedef struct { int offset; /* Offset (in bytes) from the start of TrgTowerTrnfer to data */ int length; /* Length (in bytes) of data */ } TrgOfflen;
start of BTOW: 00000f40: 0f00 0000 0000 0100 740f 0600 fe0f 0200 header 00000f50: 0000 0000 0000 0000 de00 ad00 fa00 ce00 header 00000f60: 0f00 0100 0000 0000 0000 0000 0000 0000 header 00000f70: 0000 0000 0000 0000 0000 0000 0000 0000 header 00000f80: 0000 0000 0000 0000 0000 0000 0000 0000 header 00000f90: 0000 0000 0000 0000 0000 0000 0000 0000 header 00000fa0: 0000 0000 0000 0000 0000 0000 0000 0000 header 00000fb0: 0000 0000 0000 0000 0000 0000 0000 0000 header 00000fc0: 0000 0000 ff0f ff0f ff0f ff0f ff0f ff0f fill words, crate header word 1 00000fd0: ff0f ff0f ff0f ff0f ff0f ff0f ff0f ff0f crate header word 1 00000fe0: ff0f ff0f ff0f ff0f ff0f ff0f ff0f ff0f crate header word 1 ......The sucessful unpacking should position the pointer 'emcadcr+40' from line 268 from emcReader.cxx