StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
trgCrateDefs.h
1 /******
2 *
3 * Layout of DSM Crates
4 *
5 * J.M. Nelson 9 August 2017
6 *
7 *****************************************************************************/
8 #define LAYOUT_VERSION 0x017080901 /* Format: yymmddvv */
9 
10 typedef struct {
11  char name[4]; /* Contains INF with confNum 20 */
12  int length; /* Byte count of data that follows */
13  int layout_version; /* Layout version */
14  int runNumber; /* This block will be in a file read by L2 at config time */
15  int timeStamp; /* It may carry additional information as needed */
16  unsigned int data[10]; /* 40 bytes available for use */
17 } INFBlock;
18 
19 typedef struct {
20  char name[4]; /* Contains BBC */
21  int length; /* Byte count of data that follows */
22  unsigned short BBClayer1[16]; /* This is the layer1 DSM that feeds the VTX DSM */
23  unsigned short ZDClayer1[8]; /* This is the new layer1 ZDC DSM that also feeds the VTX DSM */
24  unsigned short VPD[8]; /* ADC & TAC values for VPD detectors*/
25 } BBCBlock;
26 
27 typedef struct {
28  char name[4]; /* Contains MIX */
29  int length; /* Byte count of data that follows */
30  unsigned short FPDEastNSLayer1[8]; /* FPD east north/south layer 1 */
31  unsigned char MTD_P2PLayer1[16]; /* Data from MTD and PP2PP */
32  unsigned short TOFLayer1[8]; /* This is TOF Layer 1 */
33  unsigned short TOF[48]; /* TOF data */
34  unsigned short TPCpreMask[24]; /* EMC, MTD, & TOF TPC Grid Masks */
35 } MIXBlock;
36 
37 typedef struct {
38  char name[4];
39  int length;
40  unsigned char BEMCEast[240]; /* 15 DSMs covering the East half of BEMC */
41 } BEastBlock;
42 
43 typedef struct {
44  char name[4];
45  int length;
46  unsigned char BEMCWest[240]; /* 15 DSMs covering the West half of BEMC */
47 } BWestBlock;
48 
49 typedef struct {
50  char name[4];
51  int length;
52  unsigned short BEMClayer1[48]; /* 6 DSMs for BEMC at layer1 */
53  unsigned short EEMClayer1[16]; /* 2 DSMs for EEMC at layer1 */
54  unsigned char EEMC[144]; /* 9 DSMs for EEMC at layer0 */
55 } BELayerBlock;
56 
57 typedef struct {
58  char name[4];
59  int length;
60  unsigned char FMS[256]; /* 16 DSMs for FMS */
61 } FMSBlock;
62 
63 typedef struct {
64  char name[4];
65  int length; /* Byte count of data that follows */
66  unsigned int data[1]; /* NB: this definition is generic but would vary depending on actual data */
67 } DSMBlock;
68 
69 typedef struct {
70  char name[4];
71  int length; /* Byte count of data that follows */
72  int dataLoss; /* Byte count of data truncated due to buffer limitations */
73  unsigned int data[1]; /* NB: this definition is generic but would vary depending on actual data */
74 } QTBlock;