| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

RawDataFormat.h

Go to the documentation of this file.
00001 /* Raw Data Format: Definitions for raw data format from DocDB-2841
00002  *
00003  * Created By: dandwyer@caltech.edu 2009/7/10
00004  */
00005 
00006 #ifndef RAWDATAFORMAT_H
00007 #define RAWDATAFORMAT_H
00008 
00009 namespace DayaBay {
00010 
00011   namespace RawData_v0_6 {
00012 
00013     namespace DataFormat {
00014       
00015       namespace Data {
00016         static const unsigned int typeLine = 0;
00017       }
00018       
00019       namespace Event {
00020         static const unsigned int type = 0xaa1234aa;
00021         static const unsigned int totalSizeLine = 2;
00022         static const unsigned int totalSizeBitOffset = 0;
00023         static const unsigned int totalSizeBitLength = 24;
00024         static const unsigned int headerSizeLine = 2;
00025         static const unsigned int headerSizeBitOffset = 24;
00026         static const unsigned int headerSizeBitLength = 8;
00027         static const unsigned int majorVersionLine = 1;
00028         static const unsigned int majorVersionBitOffset = 24;
00029         static const unsigned int majorVersionBitLength = 8;
00030         static const unsigned int minorVersionLine = 1;
00031         static const unsigned int minorVersionBitOffset = 16;
00032         static const unsigned int minorVersionBitLength = 8;
00033         static const unsigned int siteIdLine = 3;
00034         static const unsigned int siteIdBitOffset = 20;
00035         static const unsigned int siteIdBitLength = 4;
00036         static const unsigned int detectorIdLine = 3;
00037         static const unsigned int detectorIdBitOffset = 16;
00038         static const unsigned int detectorIdBitLength = 4;
00039         static const unsigned int runNumberLine = 4;
00040         static const unsigned int eventIdLine = 5;
00041         static const unsigned int eventTypeLine = 6;
00042         static const unsigned int eventTypeBitOffset = 28;
00043         static const unsigned int eventTypeBitLength = 4;
00044         static const unsigned int eventTypeValueLine = 6;
00045         static const unsigned int eventTypeValueBitOffset = 0;
00046         static const unsigned int eventTypeValueBitLength = 16;
00047         static const unsigned int formatFlagLine = 7;
00048         static const unsigned int formatFlagBitOffset = 16;
00049         static const unsigned int formatFlagBitLength = 8;
00050         static const unsigned int statusFlagLine = 7;
00051         static const unsigned int statusFlagBitOffset = 0;
00052         static const unsigned int statusFlagBitLength = 16;
00053         static const unsigned int firstModuleLine = 8;
00054       }
00055       
00056       namespace Module {
00057         static const unsigned int type = 0xbb1234bb;
00058         static const unsigned int totalSizeLine = 1;
00059         static const unsigned int totalSizeBitOffset = 0;
00060         static const unsigned int totalSizeBitLength = 24;
00061         static const unsigned int headerSizeLine = 1;
00062         static const unsigned int headerSizeBitOffset = 24;
00063         static const unsigned int headerSizeBitLength = 8;
00064         static const unsigned int siteIdLine = 2;
00065         static const unsigned int siteIdBitOffset = 20;
00066         static const unsigned int siteIdBitLength = 4;
00067         static const unsigned int detectorIdLine = 2;
00068         static const unsigned int detectorIdBitOffset = 16;
00069         static const unsigned int detectorIdBitLength = 4;
00070         static const unsigned int moduleTypeLine = 2;
00071         static const unsigned int moduleTypeBitOffset = 8;
00072         static const unsigned int moduleTypeBitLength = 8;
00073         static const unsigned int slotLine = 2;
00074         static const unsigned int slotBitOffset = 0;
00075         static const unsigned int slotBitLength = 8;
00076         static const unsigned int firstFragmentLine = 4;
00077         static const unsigned int PmtFee = 1;
00078         static const unsigned int FlashAdc = 2;
00079         static const unsigned int LocalTrigger = 3;
00080         static const unsigned int RpcRom = 4;
00081         static const unsigned int RpcRtm = 5;
00082       }
00083       
00084       namespace RawFragment {
00085         static const unsigned int size = 1;
00086         static const unsigned int typeLine = 0;
00087         static const unsigned int typeBitOffset = 29;
00088         static const unsigned int typeBitLength = 3;
00089       }
00090 
00091       namespace CbltHeadFragment {
00092         static const unsigned int type = 0x1;
00093         static const unsigned int size = 1;
00094       }
00095 
00096       namespace CbltTailFragment {
00097         static const unsigned int type = 0x6;
00098         static const unsigned int size = 1;
00099       }
00100 
00101       namespace HeadFragment {
00102         static const unsigned int type = 0x2;
00103         static const unsigned int headType = 0;
00104         static const unsigned int statusLine = 0;
00105         static const unsigned int statusBitOffset = 8;
00106         static const unsigned int statusBitLength = 8;
00107         static const unsigned int triggerNumberLine = 0;
00108         static const unsigned int triggerNumberBitOffset = 0; 
00109         static const unsigned int triggerNumberBitLength = 8; 
00110         static const unsigned int size = 1;
00111       }
00112       
00113       namespace TailFragment {
00114         static const unsigned int type = 0x5;
00115         static const unsigned int tailType = 0;
00116         static const unsigned int dataSizeLine = 0;
00117         static const unsigned int dataSizeBitOffset = 0;
00118         static const unsigned int dataSizeBitLength = 16;
00119         static const unsigned int size = 1;
00120       }
00121 
00122       namespace LtbHeadFragment {
00123         static const unsigned int headType = 2;
00124         static const unsigned int clockErrorLine = 0;
00125         static const unsigned int clockErrorBitOffset = 15;
00126         static const unsigned int clockErrorBitLength = 1;
00127         static const unsigned int ltbDataVersionLine = 0;
00128         static const unsigned int ltbDataVersionBitOffset = 8;
00129         static const unsigned int ltbDataVersionBitLength = 4;
00130         static const unsigned int numIltLine = 0;
00131         static const unsigned int numIltBitOffset = 16;
00132         static const unsigned int numIltBitLength = 6;
00133         static const unsigned int numSavedIltLine = 0;
00134         static const unsigned int numSavedIltBitOffset = 22;
00135         static const unsigned int numSavedIltBitLength = 6;
00136       }
00137       
00138       namespace LtbTailFragment {
00139         static const unsigned int tailType = 2;
00140       }
00141 
00142       namespace FeeHeadFragment {
00143         static const unsigned int headType = 1;
00144         static const unsigned int feeDataVersionLine = 0;
00145         static const unsigned int feeDataVersionBitOffset = 24;
00146         static const unsigned int feeDataVersionBitLength = 4;
00147       }
00148 
00149       namespace FeeTailFragment {
00150         static const unsigned int tailType = 1;
00151       }
00152       
00153       namespace DataFragment {
00154         static const unsigned int type = 0x0;
00155         static const unsigned int dataType = 0x0;
00156         static const unsigned int size = 1;
00157       }
00158 
00159       namespace LocalTriggerData {
00160         static const unsigned int dataType = 0x2; //Unique Data ID
00161         static const unsigned int version = 0;
00162         static const unsigned int size = 6;
00163         static const unsigned int sequenceNumberLine = 0;
00164         static const unsigned int sequenceNumberBitOffset = 18;
00165         static const unsigned int sequenceNumberBitLength = 6;
00166         static const unsigned int readOutTypeLine = 0;
00167         static const unsigned int readOutTypeBitOffset = 16;
00168         static const unsigned int readOutTypeBitLength = 2;
00169         static const unsigned int triggerTypeLine = 0;
00170         static const unsigned int triggerTypeBitOffset = 0;
00171         static const unsigned int triggerTypeBitLength = 16;
00172         static const unsigned int yearLine = 1;
00173         static const unsigned int yearBitOffset = 16;
00174         static const unsigned int yearBitLength = 8;
00175         static const unsigned int monthLine = 1;
00176         static const unsigned int monthBitOffset = 8;
00177         static const unsigned int monthBitLength = 8;
00178         static const unsigned int dayLine = 1;
00179         static const unsigned int dayBitOffset = 0;
00180         static const unsigned int dayBitLength = 8;
00181         static const unsigned int hourLine = 2;
00182         static const unsigned int hourBitOffset = 16;
00183         static const unsigned int hourBitLength = 8;
00184         static const unsigned int minuteLine = 2;
00185         static const unsigned int minuteBitOffset = 8;
00186         static const unsigned int minuteBitLength = 8;
00187         static const unsigned int secondLine = 2;
00188         static const unsigned int secondBitOffset = 0;
00189         static const unsigned int secondBitLength = 8;
00190         static const unsigned int clockLine = 3;
00191         static const unsigned int clockBitOffset = 0;
00192         static const unsigned int clockBitLength = 27;
00193         static const unsigned int hsumLine = 4;
00194         static const unsigned int hsumBitOffset = 16;
00195         static const unsigned int hsumBitLength = 9;
00196         static const unsigned int esumCompLine = 4;
00197         static const unsigned int esumCompBitOffset = 12;
00198         static const unsigned int esumCompBitLength = 3;
00199         static const unsigned int esumLine = 4;
00200         static const unsigned int esumBitOffset = 0;
00201         static const unsigned int esumBitLength = 12;
00202         static const unsigned int crossTriggerSourceLine = 5;
00203         static const unsigned int crossTriggerSourceBitOffset = 0;
00204         static const unsigned int crossTriggerSourceBitLength = 6;
00205         namespace TriggerType {
00206           enum TriggerType_t {
00207             kManual       = 0x0001,
00208             kCross        = 0x0002,
00209             kPeriodic     = 0x0004,
00210             kMultiplicity = 0x0100,
00211             kEsumAdc      = 0x0200,
00212             kEsumCompHigh = 0x0400,
00213             kEsumCompLow  = 0x0800,
00214             kEsumCompAll  = 0x1000
00215           };
00216         }
00217       }
00218 
00219       namespace LocalTriggerData_v2 {
00220         static const unsigned int dataType = 0x2; //Unique Data ID
00221         static const unsigned int version = 2;
00222         static const unsigned int size = 7;
00223         static const unsigned int accumulationStatusLine = 0;
00224         static const unsigned int accumulationStatusBitOffset = 27;
00225         static const unsigned int accumulationStatusBitLength = 1;
00226         static const unsigned int gpsValidLine = 0;
00227         static const unsigned int gpsValidBitOffset = 26;
00228         static const unsigned int gpsValidBitLength = 1;
00229         static const unsigned int timestampTypeLine = 0;
00230         static const unsigned int timestampTypeBitOffset = 25;
00231         static const unsigned int timestampTypeBitLength = 1;
00232         static const unsigned int clockValidLine = 0;
00233         static const unsigned int clockValidBitOffset = 24;
00234         static const unsigned int clockValidBitLength = 1;
00235         static const unsigned int unixtimeHighLine = 1;
00236         static const unsigned int unixtimeHighBitOffset = 0;
00237         static const unsigned int unixtimeHighBitLength = 16;
00238         static const unsigned int unixtimeLowLine = 2;
00239         static const unsigned int unixtimeLowBitOffset = 0;
00240         static const unsigned int unixtimeLowBitLength = 16;
00241         static const unsigned int daysLine = 1;
00242         static const unsigned int daysBitOffset = 6;
00243         static const unsigned int daysBitLength = 10;
00244         static const unsigned int hourLine = 1;
00245         static const unsigned int hourBitOffset = 0;
00246         static const unsigned int hourBitLength = 6;
00247         static const unsigned int minuteLine = 2;
00248         static const unsigned int minuteBitOffset = 7;
00249         static const unsigned int minuteBitLength = 7;
00250         static const unsigned int secondLine = 2;
00251         static const unsigned int secondBitOffset = 0;
00252         static const unsigned int secondBitLength = 7;
00253         static const unsigned int accumulationLowLine = 2;
00254         static const unsigned int accumulationLowBitOffset = 20;
00255         static const unsigned int accumulationLowBitLength = 4;
00256         static const unsigned int nanosecondLowLine = 2;
00257         static const unsigned int nanosecondLowBitOffset = 16;
00258         static const unsigned int nanosecondLowBitLength = 4;
00259         static const unsigned int nanosecondHighLine = 3;
00260         static const unsigned int nanosecondHighBitOffset = 0;
00261         static const unsigned int nanosecondHighBitLength = 28;
00262         static const unsigned int accumulationHighLine = 4;
00263         static const unsigned int accumulationHighBitOffset = 0;
00264         static const unsigned int accumulationHighBitLength = 28;
00265         static const unsigned int hsumLine = 5;
00266         static const unsigned int hsumBitOffset = 16;
00267         static const unsigned int hsumBitLength = 9;
00268         static const unsigned int esumCompLine = 5;
00269         static const unsigned int esumCompBitOffset = 12;
00270         static const unsigned int esumCompBitLength = 3;
00271         static const unsigned int esumLine = 5;
00272         static const unsigned int esumBitOffset = 0;
00273         static const unsigned int esumBitLength = 12;
00274         static const unsigned int feeBufferStatusLine = 6;
00275         static const unsigned int feeBufferStatusBitOffset = 27;
00276         static const unsigned int feeBufferStatusBitLength = 1;
00277         static const unsigned int ltbBufferStatusLine = 6;
00278         static const unsigned int ltbBufferStatusBitOffset = 26;
00279         static const unsigned int ltbBufferStatusBitLength = 1;
00280         static const unsigned int blockedTriggerLine = 6;
00281         static const unsigned int blockedTriggerBitOffset = 16;
00282         static const unsigned int blockedTriggerBitLength = 10;
00283         static const unsigned int crossTriggerSourceLine = 6;
00284         static const unsigned int crossTriggerSourceBitOffset = 0;
00285         static const unsigned int crossTriggerSourceBitLength = 15;
00286       }
00287 
00288       namespace FeePeakData {
00289         static const unsigned int dataType = 0x1; // Unique Data ID
00290         static const unsigned int version = 0;
00291         static const unsigned int size = 2;
00292         static const unsigned int adcChannelLine = 0;
00293         static const unsigned int adcChannelBitOffset = 24;
00294         static const unsigned int adcChannelBitLength = 4;
00295         static const unsigned int tdcChannelLine = 1;
00296         static const unsigned int tdcChannelBitOffset = 24;
00297         static const unsigned int tdcChannelBitLength = 4;
00298         static const unsigned int tdcLine = 1;
00299         static const unsigned int tdcBitOffset = 0;
00300         static const unsigned int tdcBitLength = 17;
00301         static const unsigned int tdcHitCountLine = 1;
00302         static const unsigned int tdcHitCountBitOffset = 17;
00303         static const unsigned int tdcHitCountBitLength = 7;
00304         static const unsigned int peakCycleLine = 0;
00305         static const unsigned int peakCycleBitOffset = 16;
00306         static const unsigned int peakCycleBitLength = 5;
00307         static const unsigned int adcRangeLine = 0;
00308         static const unsigned int adcRangeBitOffset = 12;
00309         static const unsigned int adcRangeBitLength = 1;
00310         static const unsigned int adcLine = 0;
00311         static const unsigned int adcBitOffset = 0;
00312         static const unsigned int adcBitLength = 12;
00313       }
00314     
00315       namespace FeePeakData_v1 {
00316         static const unsigned int dataType = 0x1; // Unique Data ID
00317         static const unsigned int chargeLineType = 0x3;
00318         static const unsigned int timeLineType = 0x4;
00319         static const unsigned int version = 1;
00320         static const unsigned int size = 2;
00321         static const unsigned int adcChannelLine = 0;
00322         static const unsigned int adcChannelBitOffset = 25;
00323         static const unsigned int adcChannelBitLength = 4;
00324         static const unsigned int adcRangeLine = 0;
00325         static const unsigned int adcRangeBitOffset = 24;
00326         static const unsigned int adcRangeBitLength = 1;
00327         static const unsigned int adcPedestalLine = 0;
00328         static const unsigned int adcPedestalBitOffset = 12;
00329         static const unsigned int adcPedestalBitLength = 12;
00330         static const unsigned int tdcChannelLine = 1;
00331         static const unsigned int tdcChannelBitOffset = 25;
00332         static const unsigned int tdcChannelBitLength = 4;
00333         static const unsigned int peakCycleLine = 1;
00334         static const unsigned int peakCycleBitOffset = 21;
00335         static const unsigned int peakCycleBitLength = 4;
00336         static const unsigned int tdcHitCountLine = 1;
00337         static const unsigned int tdcHitCountBitOffset = 17;
00338         static const unsigned int tdcHitCountBitLength = 4;
00339       }
00340   
00341       /*
00342       namespace FeeWaveformData {
00343       }
00344       */
00345 
00346     }
00347 
00348   }
00349 
00350   // Define changes to data format here
00351   /*
00352   namespace RawData_v0_7 {
00353     namespace DataFormat {
00354       // Only need to define the items that have changed in the data format
00355 
00356     }
00357   }
00358   */
00359 
00360 }
00361 
00362 #endif // RAWDATAFORMAT_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:07:27 2011 for RawData by doxygen 1.4.7