00001 // 00002 // TMidasStructs.h 00003 // 00004 00005 #ifndef INCLUDE_TMidasBanksH 00006 #define INCLUDE_TMidasBanksH 00007 00008 #include "rootana_stdint.h" 00009 00010 // This file defines the data structures written 00011 // into MIDAS .mid files. They define the on-disk 00012 // data format, they cannot be arbitrarily changed. 00013 00014 /// Event header 00015 00016 struct TMidas_EVENT_HEADER { 00017 uint16_t fEventId; ///< event id 00018 uint16_t fTriggerMask; ///< event trigger mask 00019 uint32_t fSerialNumber; ///< event serial number 00020 uint32_t fTimeStamp; ///< event timestamp in seconds 00021 uint32_t fDataSize; ///< event size in bytes 00022 }; 00023 00024 /// Bank header 00025 00026 struct TMidas_BANK_HEADER { 00027 uint32_t fDataSize; 00028 uint32_t fFlags; 00029 }; 00030 00031 /// 16-bit data bank 00032 00033 struct TMidas_BANK { 00034 char fName[4]; ///< bank name 00035 uint16_t fType; ///< type of data (see midas.h TID_xxx) 00036 uint16_t fDataSize; 00037 }; 00038 00039 /// 32-bit data bank 00040 00041 struct TMidas_BANK32 { 00042 char fName[4]; ///< bank name 00043 uint32_t fType; ///< type of data (see midas.h TID_xxx) 00044 uint32_t fDataSize; 00045 }; 00046 00047 #endif 00048 //end