block

block

caloObjTcpBlock

caloSumTcpBlock

dmaBlock

muon

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
#ifndef L1ScoutingRawToDigi_blocks_h
#define L1ScoutingRawToDigi_blocks_h

#include <cstdint>

namespace l1ScoutingRun3 {

  namespace ugmt {

    struct muon {
      uint32_t f;
      uint32_t s;
      uint32_t extra;
    };

    struct block {
      uint32_t bx;
      uint32_t orbit;
      muon mu[16];
    };
  }  // namespace ugmt

  namespace demux {

    // unrolled DMA block
    struct dmaBlock {
      uint32_t header;
      uint32_t bx;
      uint32_t orbit;
      uint32_t link0;
      uint32_t jet2[6];
      uint32_t link1;
      uint32_t jet1[6];
      uint32_t link2;
      uint32_t egamma2[6];
      uint32_t link3;
      uint32_t egamma1[6];
      uint32_t link4;
      uint32_t empty[6];
      uint32_t link5;
      uint32_t sum[6];
      uint32_t link6;
      uint32_t tau2[6];
      uint32_t link7;
      uint32_t tau1[6];
    };

    struct caloObjTcpBlock {
      uint32_t header;
      uint32_t bx;
      uint32_t orbit;
      uint32_t obj[12];
    };

    struct caloSumTcpBlock {
      uint32_t bx;
      uint32_t orbit;
      uint32_t sum[6];
    };

  }  // namespace demux

  namespace bmtf {
    struct block {
      uint32_t header;
      uint32_t bx;
      uint32_t orbit;
      uint64_t stub[8];
    };
  }  // namespace bmtf

}  // namespace l1ScoutingRun3
#endif  // L1ScoutingRawToDigi_blocks_h