AraEvent/araAtriStructures.h
00001 00009 /* 00010 * 00011 * Current CVS Tag: 00012 * $Header: $ 00013 */ 00014 00015 #ifndef ATRI_STRUCTURES_H 00016 #define ATRI_STRUCTURES_H 00017 00018 #if !defined(__CINT__) || defined(__MAKECINT__) 00019 #include <stdint.h> 00020 #endif 00021 00022 #include "araSoft.h" 00023 00024 #define ARA_SOFT_VERISON 2 00025 #define ARA_SOFT_SUB_VERISON 7 00026 00027 00028 00030 00033 enum { 00034 ARA_EVENT_TYPE=0x1, 00035 ARA_HEADER_TYPE=0x2, 00036 ARA_EVENT_HK_TYPE=0x3, 00037 ARA_SENSOR_HK_TYPE=0x4, 00038 ARA_SBC_HK_TYPE=0x5, 00039 ARA_ICRR_EVENT_TYPE=0x06 00040 } ; 00041 typedef uint8_t AraDataStructureType_t; 00042 00044 00047 enum { 00048 ARA_STATION_ICRR_TESTBED=0x0, 00049 ARA_STATION_ICRR_STATION1=0x1, 00050 ARA_STATION_ATRI_STATION2=0x2 00051 } ; 00052 typedef uint8_t AraStationId_t; 00053 00054 00055 #define THIS_STATION ARA_STATION_ATRI_ARA2 00056 00057 00058 00060 00063 typedef struct { 00064 AraDataStructureType_t typeId; 00065 AraStationId_t stationId; 00066 uint8_t verId; 00067 uint8_t subVerId; 00068 uint32_t numBytes; 00069 uint16_t checksum; 00070 uint16_t reserved; 00071 uint32_t alsoReserved; 00072 } AraGenericHeader_t; 00073 00074 00076 00079 typedef struct { 00080 AraGenericHeader_t gHdr; 00081 uint64_t unixTime; 00082 uint32_t unixTimeUs; 00083 uint32_t firmwareVersion; 00084 uint16_t wilkinsonCounter[DDA_PER_ATRI]; 00085 uint16_t wilkinsonDelay[DDA_PER_ATRI]; 00086 uint32_t ppsCounter; 00087 uint32_t clockCounter; 00088 uint16_t l1Scaler[TDA_PER_ATRI][ANTS_PER_TDA]; 00089 uint16_t l1ScalerSurface[ANTS_PER_TDA]; 00090 uint16_t l2Scaler[TDA_PER_ATRI][L2_PER_TDA]; 00091 uint16_t l3Scaler; 00092 uint16_t l3ScalerSurface; 00093 uint16_t l2ScalerAllTda12; 00094 uint16_t l2ScalerAllTda34; 00095 uint16_t vdlyDac[DDA_PER_ATRI]; 00096 uint16_t vadjDac[DDA_PER_ATRI]; 00097 uint16_t thresholdDac[TDA_PER_ATRI][ANTS_PER_TDA]; 00098 uint16_t surfaceThresholdDac[ANTS_PER_TDA]; 00099 uint8_t deadTime[DDA_PER_ATRI]; 00100 uint8_t avgOccupancy[DDA_PER_ATRI]; 00101 uint8_t maxOccupancy[DDA_PER_ATRI]; 00102 uint8_t reserved[DDA_PER_ATRI]; 00103 } AraEventHk_t; 00104 00105 00107 00110 typedef struct { 00111 AraGenericHeader_t gHdr; 00112 uint64_t unixTime; 00113 uint32_t unixTimeUs; 00114 uint8_t atriVoltage; 00115 uint8_t atriCurrent; 00116 uint16_t ddaTemp[DDA_PER_ATRI]; 00117 uint16_t tdaTemp[TDA_PER_ATRI]; 00118 uint32_t ddaVoltageCurrent[DDA_PER_ATRI]; 00119 uint32_t tdaVoltageCurrent[DDA_PER_ATRI]; 00120 } AraSensorHk_t; 00121 00122 00124 00127 typedef struct { 00128 AraGenericHeader_t gHdr; 00129 uint64_t unixTime; 00130 uint32_t unixTimeUs; 00131 uint32_t eventNumber; 00132 uint32_t eventId[DDA_PER_ATRI]; 00133 uint16_t blockId[DDA_PER_ATRI]; 00134 uint16_t samples[DDA_PER_ATRI][512]; 00135 } AraSimpleStationEvent_t; 00136 00137 00138 00139 #define EXTRA_SOFTWARE_HEADER_BYTES 32 00140 00142 00145 typedef struct { 00146 AraGenericHeader_t gHdr; 00147 uint64_t unixTime; 00148 uint32_t unixTimeUs; 00149 uint32_t eventNumber; 00150 uint32_t numBytes; 00151 uint32_t timeStamp; 00152 uint32_t ppsNumber; 00153 uint32_t eventId; 00154 uint16_t versionNumber; 00155 uint16_t numReadoutBlocks; 00156 uint16_t triggerPattern[MAX_TRIG_BLOCKS]; 00157 uint16_t triggerInfo[MAX_TRIG_BLOCKS]; 00158 uint8_t triggerBlock[MAX_TRIG_BLOCKS]; 00159 } AraStationEventHeader_t; 00160 00161 00162 00164 00167 typedef struct { 00168 uint16_t irsBlockNumber; 00169 uint16_t channelMask; 00170 // uint8_t channelMask; ///<Bit mask for the 8 available channels 0x8f by default 00171 // uint8_t atriDdaNumber; 00172 } AraStationEventBlockHeader_t; 00173 00174 00176 00179 typedef struct { 00180 uint16_t samples[SAMPLES_PER_BLOCK]; 00181 } AraStationEventBlockChannel_t; 00182 00183 00184 00185 #endif //ATRI_STRUCTURES_H
Generated on Wed Aug 8 16:20:07 2012 for ARA ROOT Test Bed Software by
