ARA ROOT Test BEd Software

AraEvent/araIcrrStructures.h

Go to the documentation of this file.
00001 
00013 #ifndef ARA_STRUCTURES_H
00014 #define ARA_STRUCTURES_H
00015 #include "araIcrrDefines.h"
00016 
00017 #define ARA_STRUCTURES_VERSION 1
00018 
00019 //Enumerations
00020 
00022 //Structures
00024 
00026 
00031 typedef struct {
00032     unsigned short numBytes;
00033     unsigned char verId;
00034   //    unsigned int checksum;
00035 } GenericHeader_t;
00036 
00038 
00042 typedef struct {
00044 
00051   unsigned char trigType;     
00052   unsigned short ppsNum;      
00053   unsigned short deadTime1;   
00054   unsigned short deadTime2;   
00055   unsigned short trigPattern; // trigger pattern: bits 0-8 - facet triggers | bit 9 - deep L1 | bit 10 - shallow L1 | bit 11 - unused | bit 12 - global trigger
00056   unsigned short rovdd[3];    // [0] - LSW of Rb clock counter | [1] - MSW of Rb clock counter | [2] - DAC voltage for LAB C
00057   unsigned short rcoCount[3]; // RCO counter for LAB chips
00058 } IcrrTriggerMonitorStruct_t;
00059 
00061 
00065 typedef struct {
00067 
00070     unsigned char chanId;   // chan+9*LAB3
00072 
00078     unsigned char chipIdFlag; // Bits 0,1 chipNum; Bit 3 hitBus wrap; 4-7 hitBusOff
00080 
00084     unsigned char firstHitbus; // If wrappedHitbus=0 data runs, lastHitbus+1
00086 
00090     unsigned char lastHitbus; //to firstHitbus-1 inclusive
00091 
00092 } AraRawIcrrRFChannelHeader_t;
00093 
00095 
00098 typedef struct {
00099     AraRawIcrrRFChannelHeader_t header;
00100     unsigned short data[MAX_NUMBER_SAMPLES_LAB3];
00101 } IcrrIcrrRFChannelFull_t;
00102 
00104 
00107 typedef struct {
00108     AraRawIcrrRFChannelHeader_t header;
00109     short xMax;
00110     short xMin;
00111     float mean; 
00112     float rms; 
00113     short data[MAX_NUMBER_SAMPLES_LAB3]; 
00114 } IcrrIcrrRFChannelPedSubbed_t;
00115 
00117 
00120 typedef struct {
00121   unsigned short temp[8]; 
00122 } IcrrIcrrTemperatureDataStruct_t;
00123 
00125 
00128 typedef struct {
00129   unsigned short discone[8]; 
00130   unsigned short batwing[8]; 
00131 } IcrrIcrrRFPowerDataStruct_t;
00132 
00134 
00137 typedef struct {
00138   unsigned short dac[6][4]; 
00139 } IcrrIcrrDACDataStruct_t;
00140 
00142 
00145 typedef struct {    
00146   unsigned short discone[8];
00147   unsigned short batPlus[8];
00148   unsigned short batMinus[8];
00149   unsigned short trigL1[12];
00150   unsigned short global;
00151 } IcrrIcrrSimpleScalerStruct_t;
00152 
00153 
00154 
00155 
00157 
00160 typedef struct {
00161     unsigned char chanId;   
00162     unsigned short chipEntries;
00163     float pedMean[MAX_NUMBER_SAMPLES_LAB3];
00164     float pedRMS[MAX_NUMBER_SAMPLES_LAB3]; 
00165 } LabChipChannelPedStruct_t;
00166 
00167 
00168 
00170 
00174 typedef struct {
00175   unsigned int unixTime;       
00176   unsigned int unixTimeUs;     
00177 
00179 
00185   int gpsSubTime;    
00186   unsigned int eventNumber;    
00187   unsigned short calibStatus;   
00188   unsigned char priority; 
00189 
00190 
00199   unsigned char errorFlag; 
00200   //unsigned char surfSlipFlag; ///< Sync Slip between SURF 2-9 and SURF 1
00201   
00202 } IcrrEventHeader_t;
00203 
00204 
00205 
00206 
00208 
00211 typedef struct {    
00212   IcrrIcrrTemperatureDataStruct_t temp;
00213   IcrrIcrrRFPowerDataStruct_t rfPow;
00214   IcrrIcrrDACDataStruct_t dac;
00215   IcrrIcrrSimpleScalerStruct_t scaler;
00216 } IcrrHkDataStruct_t;
00217 
00218 typedef struct {
00219   unsigned int unixTime;
00220   unsigned int unixTimeUs;
00221   unsigned int eventNumber;
00222   unsigned int errorFlag;
00223 } IcrrHkDataHeader_t;
00224 
00226 
00229 typedef struct {
00230     GenericHeader_t gHdr;
00231     unsigned int unixTimeStart;
00232     unsigned int unixTimeEnd;
00233     LabChipChannelPedStruct_t chan[NUM_DIGITIZED_ICRR_CHANNELS];
00234 } FullLabChipPedStruct_t;
00235 
00236 
00238 // On-board structs
00240 
00242 
00245 typedef struct {
00246   GenericHeader_t gHdr;
00247   IcrrEventHeader_t hd;
00248   //  unsigned int eventNumber;    /* Global event number */
00249   IcrrIcrrRFChannelFull_t channel[NUM_DIGITIZED_ICRR_CHANNELS];
00250   IcrrTriggerMonitorStruct_t trig;
00251   IcrrHkDataStruct_t hk;
00252 } IcrrEventBody_t;
00253 
00255 
00259 typedef struct {
00260   GenericHeader_t gHdr;
00261   IcrrHkDataHeader_t hd;
00262   IcrrTriggerMonitorStruct_t trig;
00263   IcrrHkDataStruct_t hk;
00264 } IcrrHkBody_t;
00265 
00266 
00268 
00271 typedef struct {
00272   GenericHeader_t gHdr;
00273   unsigned int eventNumber;    /* Global event number */
00274   unsigned int whichPeds; 
00275   IcrrIcrrRFChannelPedSubbed_t channel[NUM_DIGITIZED_ICRR_CHANNELS];
00276   IcrrHkDataStruct_t hk;
00277 } IcrrIcrrPedSubbedEventBody_t;
00278 
00279 
00280 //This stuff is just for legacy will be deprecated
00281 typedef struct IcrrRFChannelFull_t  RFChannelFull_t;
00282 typedef struct IcrrRFChannelPedSubbed_t RFChannelPedSubbed_t;
00283 typedef struct IcrrTemperatureDataStruct_t TemperatureDataStruct_t;
00284 typedef struct IcrrRFPowerDataStruct_t RFPowerDataStruct_t;
00285 typedef struct IcrrDACDataStruct_t DACDataStruct_t;
00286 typedef struct IcrrSimpleScalerStruct_t  SimpleScalerStruct_t;
00287 typedef IcrrEventHeader_t AraEventHeader_t;
00288 typedef IcrrEventBody_t AraEventBody_t;
00289 typedef IcrrHkBody_t AraHkBody_t;
00290 typedef struct IcrrPedSubbedEventBody_t PedSubbedEventBody_t;
00291 
00292 
00293 
00294 #endif /* ARA_STRUCTURES_H */

Generated on Wed Aug 8 16:20:07 2012 for ARA ROOT Test Bed Software by doxygen 1.4.7