H5DataTypes/include/PrincetonConfigV5.h

Go to the documentation of this file.
00001 #ifndef H5DATATYPES_PRINCETONCONFIGV5_H
00002 #define H5DATATYPES_PRINCETONCONFIGV5_H
00003 
00004 //--------------------------------------------------------------------------
00005 // File and Version Information:
00006 //      $Id: PrincetonConfigV5.h 6826 2013-09-24 21:08:01Z salnikov@SLAC.STANFORD.EDU $
00007 //
00008 // Description:
00009 //      Class PrincetonConfigV5.
00010 //
00011 //------------------------------------------------------------------------
00012 
00013 //-----------------
00014 // C/C++ Headers --
00015 //-----------------
00016 
00017 //----------------------
00018 // Base Class Headers --
00019 //----------------------
00020 
00021 
00022 //-------------------------------
00023 // Collaborating Class Headers --
00024 //-------------------------------
00025 
00026 //------------------------------------
00027 // Collaborating Class Declarations --
00028 //------------------------------------
00029 #include "hdf5pp/Group.h"
00030 #include "pdsdata/psddl/princeton.ddl.h"
00031 
00032 //              ---------------------
00033 //              -- Class Interface --
00034 //              ---------------------
00035 
00036 namespace H5DataTypes {
00037 
00038 //
00039 // Helper type for Pds::Princeton::ConfigV5
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   // store single config object at specified location
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 } // namespace H5DataTypes
00079 
00080 #endif // H5DATATYPES_PRINCETONCONFIGV5_H

Generated on 19 Dec 2016 for PSDMSoftware by  doxygen 1.4.7