ARA ROOT v3.11 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 #if !defined(__CINT__) || defined(__MAKECINT__)
00019 #include <stdint.h>
00020 #endif
00021 
00022 #include "araSoft.h"
00023 
00024 #define ARA_SOFT_VERISON 3
00025 #define ARA_SOFT_SUB_VERISON 0
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_TESTBED=0, 
00049   ARA_STATION1=1, 
00050   ARA_STATION1B=100, 
00051   ARA_STATION2=2, 
00052   ARA_STATION3=3, 
00053   ARA_STATION4=4, 
00054   ARA_STATION5=5, 
00055   ARA_STATION6=6, 
00056   ARA_STATION7=7, 
00057   ARA_STATION8=8, 
00058   ARA_STATION9=9, 
00059 
00060   ARA_STATION10=10, 
00061   ARA_STATION11=11, 
00062   ARA_STATION12=12, 
00063   ARA_STATION13=13, 
00064   ARA_STATION14=14, 
00065   ARA_STATION15=15, 
00066   ARA_STATION16=16, 
00067   ARA_STATION17=17, 
00068   ARA_STATION18=18, 
00069   ARA_STATION19=19, 
00070 
00071   ARA_STATION20=20, 
00072   ARA_STATION21=21, 
00073   ARA_STATION22=22, 
00074   ARA_STATION23=23, 
00075   ARA_STATION24=24, 
00076   ARA_STATION25=25, 
00077   ARA_STATION26=26, 
00078   ARA_STATION27=27, 
00079   ARA_STATION28=28, 
00080   ARA_STATION29=29, 
00081 
00082   ARA_STATION30=30, 
00083   ARA_STATION31=31, 
00084   ARA_STATION32=32, 
00085   ARA_STATION33=33, 
00086   ARA_STATION34=34, 
00087   ARA_STATION35=35, 
00088   ARA_STATION36=36, 
00089   ARA_STATION37=37  
00090 
00091 } ;
00092 typedef uint8_t AraStationId_t;  
00093 
00094 #define THIS_STATION ARA_STATION2
00095 //SBC_DEFINE -- Each SBC should be running AraSoft with the correct stationId set as THIS_STATION
00096 
00097 
00099 
00102 typedef struct {
00103   AraDataStructureType_t typeId;
00104   AraStationId_t stationId;
00105   uint8_t verId;
00106   uint8_t subVerId;
00107   uint32_t numBytes;
00108   uint16_t checksum;
00109   uint16_t reserved; 
00110   uint32_t alsoReserved;
00111 } AtriGenericHeader_t;
00112 
00113 
00115 
00120 typedef struct {
00121   AtriGenericHeader_t gHdr; 
00122   uint64_t unixTime; 
00123   uint32_t unixTimeUs; 
00124   uint32_t firmwareVersion; 
00125   uint16_t wilkinsonCounter[DDA_PER_ATRI]; 
00126   uint16_t wilkinsonDelay[DDA_PER_ATRI]; 
00127   uint32_t ppsCounter; 
00128   uint32_t clockCounter; 
00129   uint16_t l1Scaler[TDA_PER_ATRI][ANTS_PER_TDA]; 
00130   uint16_t l1ScalerSurface[ANTS_PER_TDA]; 
00131   uint16_t l2Scaler[TDA_PER_ATRI][L2_PER_TDA]; 
00132   uint16_t l3Scaler; 
00133   uint16_t l3ScalerSurface; 
00134   uint16_t l2ScalerAllTda12; 
00135   uint16_t l2ScalerAllTda34; 
00136   uint16_t vdlyDac[DDA_PER_ATRI]; 
00137   uint16_t vadjDac[DDA_PER_ATRI]; 
00138   uint16_t thresholdDac[TDA_PER_ATRI][ANTS_PER_TDA]; 
00139   uint16_t surfaceThresholdDac[ANTS_PER_TDA]; 
00140   uint8_t deadTime[DDA_PER_ATRI]; 
00141   uint8_t avgOccupancy[DDA_PER_ATRI]; 
00142   uint8_t maxOccupancy[DDA_PER_ATRI]; 
00143   uint8_t reserved[DDA_PER_ATRI];
00144 } AraEventHk2_7_t;
00145 
00146 
00147 
00149 
00153 typedef struct {
00154   AtriGenericHeader_t gHdr; 
00155   uint64_t unixTime; 
00156   uint32_t unixTimeUs; 
00157   uint32_t firmwareVersion; 
00158   uint16_t wilkinsonCounter[DDA_PER_ATRI]; 
00159   uint16_t wilkinsonDelay[DDA_PER_ATRI]; 
00160   uint32_t ppsCounter; 
00161   uint32_t clockCounter; 
00162   uint16_t l1Scaler[NUM_L1_SCALERS]; 
00163   uint16_t l1ScalerSurface[ANTS_PER_TDA]; 
00164   uint16_t l2Scaler[NUM_L2_SCALERS]; 
00165   uint16_t l3Scaler[NUM_L3_SCALERS]; 
00166   uint16_t l4Scaler[NUM_L4_SCALERS]; 
00167   uint16_t t1Scaler[NUM_T1_SCALERS]; 
00168   uint16_t vdlyDac[DDA_PER_ATRI]; 
00169   uint16_t vadjDac[DDA_PER_ATRI]; 
00170   uint16_t thresholdDac[NUM_L1_SCALERS]; 
00171   uint16_t surfaceThresholdDac[ANTS_PER_TDA]; 
00172   uint8_t evReadoutError; 
00173   uint16_t evReadoutCountAvg; 
00174   uint16_t evReadoutCountMin; 
00175   uint16_t blockBuffCountAvg; 
00176   uint16_t blockBuffCountMax; 
00177   uint16_t digDeadTime; 
00178   uint16_t buffDeadTime; 
00179   uint16_t totalDeadTime; 
00180 } AraEventHk_t;
00181 
00182 
00184 
00187 typedef struct {
00188   AtriGenericHeader_t gHdr; 
00189   uint64_t unixTime; 
00190   uint32_t unixTimeUs; 
00191   uint8_t atriVoltage; 
00192   uint8_t atriCurrent; 
00193   uint16_t ddaTemp[DDA_PER_ATRI]; 
00194   uint16_t tdaTemp[TDA_PER_ATRI]; 
00195   uint32_t ddaVoltageCurrent[DDA_PER_ATRI]; 
00196   uint32_t tdaVoltageCurrent[DDA_PER_ATRI]; 
00197 } AraSensorHk_t;
00198 
00199 
00201 
00204 typedef struct {
00205   AtriGenericHeader_t gHdr; 
00206   uint64_t unixTime; 
00207   uint32_t unixTimeUs; 
00208   uint32_t eventNumber; 
00209   uint32_t eventId[DDA_PER_ATRI]; 
00210   uint16_t blockId[DDA_PER_ATRI]; 
00211   uint16_t samples[DDA_PER_ATRI][512]; 
00212 } AraSimpleStationEvent_t;
00213 
00214 
00215 
00216 #define EXTRA_SOFTWARE_HEADER_BYTES 32 
00217 
00219 
00222 typedef struct {
00223   AtriGenericHeader_t gHdr; 
00224   uint64_t unixTime; 
00225   uint32_t unixTimeUs; 
00226   uint32_t eventNumber; 
00227   uint32_t numBytes; 
00228   uint32_t timeStamp; 
00229   uint32_t ppsNumber; 
00230   uint32_t eventId; 
00231   uint16_t versionNumber; 
00232   uint16_t numReadoutBlocks; 
00233   uint32_t triggerInfo[MAX_TRIG_BLOCKS]; 
00234   uint8_t triggerBlock[MAX_TRIG_BLOCKS]; 
00235 } AraStationEventHeader_t;
00236   
00237 
00238 
00240 
00243 typedef struct {
00244   uint16_t irsBlockNumber; 
00245   uint16_t channelMask; 
00246   //  uint8_t channelMask; ///<Bit mask for the 8 available channels 0x8f by default
00247   //  uint8_t atriDdaNumber; 
00248 } AraStationEventBlockHeader_t;
00249 
00250 
00252 
00255 typedef struct {
00256   uint16_t samples[SAMPLES_PER_BLOCK]; 
00257 } AraStationEventBlockChannel_t;
00258   
00259 
00260 
00261 #endif //ATRI_STRUCTURES_H

Generated on Fri Jul 26 15:27:35 2013 for ARA ROOT v3.11 Software by doxygen 1.4.7