ARA ROOT v3.6 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=0x0, 
00049   ARA_STATION1=0x1, 
00050   ARA_STATION1A=-1, 
00051   ARA_STATION2=0x2, 
00052   ARA_STATION3=0x3, 
00053   ARA_STATION4=0x4, 
00054   ARA_STATION5=0x5, 
00055   ARA_STATION6=0x6, 
00056   ARA_STATION7=0x7, 
00057   ARA_STATION8=0x8, 
00058   ARA_STATION9=0x9, 
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 deadTime[DDA_PER_ATRI]; 
00173   uint8_t avgOccupancy[DDA_PER_ATRI]; 
00174   uint8_t maxOccupancy[DDA_PER_ATRI]; 
00175   uint8_t reserved[DDA_PER_ATRI];
00176 } AraEventHk_t;
00177 
00178 
00180 
00183 typedef struct {
00184   AtriGenericHeader_t gHdr; 
00185   uint64_t unixTime; 
00186   uint32_t unixTimeUs; 
00187   uint8_t atriVoltage; 
00188   uint8_t atriCurrent; 
00189   uint16_t ddaTemp[DDA_PER_ATRI]; 
00190   uint16_t tdaTemp[TDA_PER_ATRI]; 
00191   uint32_t ddaVoltageCurrent[DDA_PER_ATRI]; 
00192   uint32_t tdaVoltageCurrent[DDA_PER_ATRI]; 
00193 } AraSensorHk_t;
00194 
00195 
00197 
00200 typedef struct {
00201   AtriGenericHeader_t gHdr; 
00202   uint64_t unixTime; 
00203   uint32_t unixTimeUs; 
00204   uint32_t eventNumber; 
00205   uint32_t eventId[DDA_PER_ATRI]; 
00206   uint16_t blockId[DDA_PER_ATRI]; 
00207   uint16_t samples[DDA_PER_ATRI][512]; 
00208 } AraSimpleStationEvent_t;
00209 
00210 
00211 
00212 #define EXTRA_SOFTWARE_HEADER_BYTES 32 
00213 
00215 
00218 typedef struct {
00219   AtriGenericHeader_t gHdr; 
00220   uint64_t unixTime; 
00221   uint32_t unixTimeUs; 
00222   uint32_t eventNumber; 
00223   uint32_t numBytes; 
00224   uint32_t timeStamp; 
00225   uint32_t ppsNumber; 
00226   uint32_t eventId; 
00227   uint16_t versionNumber; 
00228   uint16_t numReadoutBlocks; 
00229   uint32_t triggerInfo[MAX_TRIG_BLOCKS]; 
00230   uint8_t triggerBlock[MAX_TRIG_BLOCKS]; 
00231 } AraStationEventHeader_t;
00232   
00233 
00234 
00236 
00239 typedef struct {
00240   uint16_t irsBlockNumber; 
00241   uint16_t channelMask; 
00242   //  uint8_t channelMask; ///<Bit mask for the 8 available channels 0x8f by default
00243   //  uint8_t atriDdaNumber; 
00244 } AraStationEventBlockHeader_t;
00245 
00246 
00248 
00251 typedef struct {
00252   uint16_t samples[SAMPLES_PER_BLOCK]; 
00253 } AraStationEventBlockChannel_t;
00254   
00255 
00256 
00257 #endif //ATRI_STRUCTURES_H

Generated on Mon Mar 18 16:04:45 2013 for ARA ROOT v3.6 Software by doxygen 1.4.7