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 #ifndef __CINT__ 00019 #include <stdint.h> 00020 #else 00021 typedef UChar_t uint8_t; 00022 typedef UShort_t uint16_t; 00023 typedef UInt_t uint32_t; 00024 typedef ULong_t uint64_t; 00025 #endif 00026 00027 #include "araSoft.h" 00028 00029 #define ARA_SOFT_VERISON 4 00030 #define ARA_SOFT_SUB_VERISON 2 00031 00032 00033 00035 00038 enum { 00039 ARA_EVENT_TYPE=0x1, 00040 ARA_HEADER_TYPE=0x2, 00041 ARA_EVENT_HK_TYPE=0x3, 00042 ARA_SENSOR_HK_TYPE=0x4, 00043 ARA_SBC_HK_TYPE=0x5, 00044 ARA_ICRR_EVENT_TYPE=0x06 00045 } ; 00046 typedef uint8_t AraDataStructureType_t; 00047 00049 00052 enum { 00053 ARA_TESTBED=0, 00054 ARA_STATION1=1, 00055 ARA_STATION1B=100, 00056 ARA_STATION2=2, 00057 ARA_STATION3=3, 00058 ARA_STATION4=4, 00059 ARA_STATION5=5, 00060 ARA_STATION6=6, 00061 ARA_STATION7=7, 00062 ARA_STATION8=8, 00063 ARA_STATION9=9, 00064 00065 ARA_STATION10=10, 00066 ARA_STATION11=11, 00067 ARA_STATION12=12, 00068 ARA_STATION13=13, 00069 ARA_STATION14=14, 00070 ARA_STATION15=15, 00071 ARA_STATION16=16, 00072 ARA_STATION17=17, 00073 ARA_STATION18=18, 00074 ARA_STATION19=19, 00075 00076 ARA_STATION20=20, 00077 ARA_STATION21=21, 00078 ARA_STATION22=22, 00079 ARA_STATION23=23, 00080 ARA_STATION24=24, 00081 ARA_STATION25=25, 00082 ARA_STATION26=26, 00083 ARA_STATION27=27, 00084 ARA_STATION28=28, 00085 ARA_STATION29=29, 00086 00087 ARA_STATION30=30, 00088 ARA_STATION31=31, 00089 ARA_STATION32=32, 00090 ARA_STATION33=33, 00091 ARA_STATION34=34, 00092 ARA_STATION35=35, 00093 ARA_STATION36=36, 00094 ARA_STATION37=37 00095 00096 } ; 00097 typedef uint8_t AraStationId_t; 00098 00099 #define THIS_STATION ARA_STATION2 00100 //SBC_DEFINE -- Each SBC should be running AraSoft with the correct stationId set as THIS_STATION 00101 00102 00104 00107 typedef struct { 00108 AraDataStructureType_t typeId; 00109 AraStationId_t stationId; 00110 uint8_t verId; 00111 uint8_t subVerId; 00112 uint32_t numBytes; 00113 uint16_t checksum; 00114 uint16_t reserved; 00115 uint32_t alsoReserved; 00116 } AtriGenericHeader_t; 00117 00118 00120 00125 typedef struct { 00126 AtriGenericHeader_t gHdr; 00127 uint64_t unixTime; 00128 uint32_t unixTimeUs; 00129 uint32_t firmwareVersion; 00130 uint16_t wilkinsonCounter[DDA_PER_ATRI]; 00131 uint16_t wilkinsonDelay[DDA_PER_ATRI]; 00132 uint32_t ppsCounter; 00133 uint32_t clockCounter; 00134 uint16_t l1Scaler[TDA_PER_ATRI][ANTS_PER_TDA]; 00135 uint16_t l1ScalerSurface[ANTS_PER_TDA]; 00136 uint16_t l2Scaler[TDA_PER_ATRI][L2_PER_TDA]; 00137 uint16_t l3Scaler; 00138 uint16_t l3ScalerSurface; 00139 uint16_t l2ScalerAllTda12; 00140 uint16_t l2ScalerAllTda34; 00141 uint16_t vdlyDac[DDA_PER_ATRI]; 00142 uint16_t vadjDac[DDA_PER_ATRI]; 00143 uint16_t thresholdDac[TDA_PER_ATRI][ANTS_PER_TDA]; 00144 uint16_t surfaceThresholdDac[ANTS_PER_TDA]; 00145 uint8_t deadTime[DDA_PER_ATRI]; 00146 uint8_t avgOccupancy[DDA_PER_ATRI]; 00147 uint8_t maxOccupancy[DDA_PER_ATRI]; 00148 uint8_t reserved[DDA_PER_ATRI]; 00149 } AraEventHk2_7_t; 00150 00151 00152 00154 00158 typedef struct { 00159 AtriGenericHeader_t gHdr; 00160 uint64_t unixTime; 00161 uint32_t unixTimeUs; 00162 uint32_t firmwareVersion; 00163 uint16_t wilkinsonCounter[DDA_PER_ATRI]; 00164 uint16_t wilkinsonDelay[DDA_PER_ATRI]; 00165 uint32_t ppsCounter; 00166 uint32_t clockCounter; 00167 uint16_t l1Scaler[NUM_L1_SCALERS]; 00168 uint16_t l1ScalerSurface[ANTS_PER_TDA]; 00169 uint16_t l2Scaler[NUM_L2_SCALERS]; 00170 uint16_t l3Scaler[NUM_L3_SCALERS]; 00171 uint16_t l4Scaler[NUM_L4_SCALERS]; 00172 uint16_t t1Scaler[NUM_T1_SCALERS]; 00173 uint16_t vdlyDac[DDA_PER_ATRI]; 00174 uint16_t vadjDac[DDA_PER_ATRI]; 00175 uint16_t thresholdDac[NUM_L1_SCALERS]; 00176 uint16_t surfaceThresholdDac[ANTS_PER_TDA]; 00177 uint8_t evReadoutError; 00178 uint16_t evReadoutCountAvg; 00179 uint16_t evReadoutCountMin; 00180 uint16_t blockBuffCountAvg; 00181 uint16_t blockBuffCountMax; 00182 uint16_t digDeadTime; 00183 uint16_t buffDeadTime; 00184 uint16_t totalDeadTime; 00185 } AraEventHk_t; 00186 00187 00189 00192 typedef struct { 00193 AtriGenericHeader_t gHdr; 00194 uint64_t unixTime; 00195 uint32_t unixTimeUs; 00196 uint8_t atriVoltage; 00197 uint8_t atriCurrent; 00198 uint16_t ddaTemp[DDA_PER_ATRI]; 00199 uint16_t tdaTemp[TDA_PER_ATRI]; 00200 uint32_t ddaVoltageCurrent[DDA_PER_ATRI]; 00201 uint32_t tdaVoltageCurrent[DDA_PER_ATRI]; 00202 } AraSensorHk_t; 00203 00204 00206 00209 typedef struct { 00210 AtriGenericHeader_t gHdr; 00211 uint64_t unixTime; 00212 uint32_t unixTimeUs; 00213 uint32_t eventNumber; 00214 uint32_t eventId[DDA_PER_ATRI]; 00215 uint16_t blockId[DDA_PER_ATRI]; 00216 uint16_t samples[DDA_PER_ATRI][512]; 00217 } AraSimpleStationEvent_t; 00218 00219 00220 00221 #define EXTRA_SOFTWARE_HEADER_BYTES 32 00222 00224 00227 typedef struct { 00228 AtriGenericHeader_t gHdr; 00229 uint64_t unixTime; 00230 uint32_t unixTimeUs; 00231 uint32_t eventNumber; 00232 uint32_t numBytes; 00233 uint32_t timeStamp; 00234 uint32_t ppsNumber; 00235 uint32_t eventId; 00236 uint16_t versionNumber; 00237 uint16_t numReadoutBlocks; 00238 uint32_t triggerInfo[MAX_TRIG_BLOCKS]; 00239 uint8_t triggerBlock[MAX_TRIG_BLOCKS]; 00240 } AraStationEventHeader_t; 00241 00242 00243 00245 00248 typedef struct { 00249 uint16_t irsBlockNumber; 00250 uint16_t channelMask; 00251 // uint8_t channelMask; ///<Bit mask for the 8 available channels 0x8f by default 00252 // uint8_t atriDdaNumber; 00253 } AraStationEventBlockHeader_t; 00254 00255 00257 00260 typedef struct { 00261 uint16_t samples[SAMPLES_PER_BLOCK]; 00262 } AraStationEventBlockChannel_t; 00263 00264 00265 00266 #endif //ATRI_STRUCTURES_H
Generated on Mon Dec 9 13:20:21 2013 for ARA ROOT v3.13 Software by
