ARA ROOT v3.3 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 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_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 
00118 typedef struct {
00119   AtriGenericHeader_t gHdr; 
00120   uint64_t unixTime; 
00121   uint32_t unixTimeUs; 
00122   uint32_t firmwareVersion; 
00123   uint16_t wilkinsonCounter[DDA_PER_ATRI]; 
00124   uint16_t wilkinsonDelay[DDA_PER_ATRI]; 
00125   uint32_t ppsCounter; 
00126   uint32_t clockCounter; 
00127   uint16_t l1Scaler[TDA_PER_ATRI][ANTS_PER_TDA]; 
00128   uint16_t l1ScalerSurface[ANTS_PER_TDA]; 
00129   uint16_t l2Scaler[TDA_PER_ATRI][L2_PER_TDA]; 
00130   uint16_t l3Scaler; 
00131   uint16_t l3ScalerSurface; 
00132   uint16_t l2ScalerAllTda12; 
00133   uint16_t l2ScalerAllTda34; 
00134   uint16_t vdlyDac[DDA_PER_ATRI]; 
00135   uint16_t vadjDac[DDA_PER_ATRI]; 
00136   uint16_t thresholdDac[TDA_PER_ATRI][ANTS_PER_TDA]; 
00137   uint16_t surfaceThresholdDac[ANTS_PER_TDA]; 
00138   uint8_t deadTime[DDA_PER_ATRI]; 
00139   uint8_t avgOccupancy[DDA_PER_ATRI]; 
00140   uint8_t maxOccupancy[DDA_PER_ATRI]; 
00141   uint8_t reserved[DDA_PER_ATRI];
00142 } AraEventHk_t;
00143 
00144 
00146 
00149 typedef struct {
00150   AtriGenericHeader_t gHdr; 
00151   uint64_t unixTime; 
00152   uint32_t unixTimeUs; 
00153   uint8_t atriVoltage; 
00154   uint8_t atriCurrent; 
00155   uint16_t ddaTemp[DDA_PER_ATRI]; 
00156   uint16_t tdaTemp[TDA_PER_ATRI]; 
00157   uint32_t ddaVoltageCurrent[DDA_PER_ATRI]; 
00158   uint32_t tdaVoltageCurrent[DDA_PER_ATRI]; 
00159 } AraSensorHk_t;
00160 
00161 
00163 
00166 typedef struct {
00167   AtriGenericHeader_t gHdr; 
00168   uint64_t unixTime; 
00169   uint32_t unixTimeUs; 
00170   uint32_t eventNumber; 
00171   uint32_t eventId[DDA_PER_ATRI]; 
00172   uint16_t blockId[DDA_PER_ATRI]; 
00173   uint16_t samples[DDA_PER_ATRI][512]; 
00174 } AraSimpleStationEvent_t;
00175 
00176 
00177 
00178 #define EXTRA_SOFTWARE_HEADER_BYTES 32 
00179 
00181 
00184 typedef struct {
00185   AtriGenericHeader_t gHdr; 
00186   uint64_t unixTime; 
00187   uint32_t unixTimeUs; 
00188   uint32_t eventNumber; 
00189   uint32_t numBytes; 
00190   uint32_t timeStamp; 
00191   uint32_t ppsNumber; 
00192   uint32_t eventId; 
00193   uint16_t versionNumber; 
00194   uint16_t numReadoutBlocks; 
00195   uint16_t triggerPattern[MAX_TRIG_BLOCKS]; 
00196   uint16_t triggerInfo[MAX_TRIG_BLOCKS]; 
00197   uint8_t triggerBlock[MAX_TRIG_BLOCKS]; 
00198 } AraStationEventHeader_t;
00199   
00200 
00201 
00203 
00206 typedef struct {
00207   uint16_t irsBlockNumber; 
00208   uint16_t channelMask; 
00209   //  uint8_t channelMask; ///<Bit mask for the 8 available channels 0x8f by default
00210   //  uint8_t atriDdaNumber; 
00211 } AraStationEventBlockHeader_t;
00212 
00213 
00215 
00218 typedef struct {
00219   uint16_t samples[SAMPLES_PER_BLOCK]; 
00220 } AraStationEventBlockChannel_t;
00221   
00222 
00223 
00224 #endif //ATRI_STRUCTURES_H

Generated on Tue Sep 11 19:51:09 2012 for ARA ROOT v3.3 Software by doxygen 1.4.7