00001 #ifndef H5DATATYPES_PRINCETONCONFIGV5_H
00002 #define H5DATATYPES_PRINCETONCONFIGV5_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #include "hdf5pp/Group.h"
00030 #include "pdsdata/psddl/princeton.ddl.h"
00031
00032
00033
00034
00035
00036 namespace H5DataTypes {
00037
00038
00039
00040
00041 class PrincetonConfigV5 {
00042 public:
00043
00044 typedef Pds::Princeton::ConfigV5 XtcType ;
00045
00046 PrincetonConfigV5 () {}
00047 PrincetonConfigV5 ( const XtcType& data ) ;
00048
00049 static hdf5pp::Type stored_type() ;
00050 static hdf5pp::Type native_type() ;
00051
00052
00053 static void store( const XtcType& config, hdf5pp::Group location ) ;
00054
00055 static size_t xtcSize( const XtcType& xtc ) { return sizeof(xtc) ; }
00056
00057 private:
00058
00059 uint32_t width;
00060 uint32_t height;
00061 uint32_t orgX;
00062 uint32_t orgY;
00063 uint32_t binX;
00064 uint32_t binY;
00065 float exposureTime;
00066 float coolingTemp;
00067 uint16_t gainIndex;
00068 uint16_t readoutSpeedIndex;
00069 uint32_t maskedHeight;
00070 uint32_t kineticHeight;
00071 float vsSpeed;
00072 int16_t infoReportInterval;
00073 uint16_t exposureEventCode;
00074 uint32_t numDelayShots;
00075
00076 };
00077
00078 }
00079
00080 #endif // H5DATATYPES_PRINCETONCONFIGV5_H