ARA ROOT v3.13 Software

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 doxygen 1.4.7