psddl_psana/include/andor.ddl.h

Go to the documentation of this file.
00001 #ifndef PSANA_ANDOR_DDL_H
00002 #define PSANA_ANDOR_DDL_H 1
00003 
00004 // *** Do not edit this file, it is auto-generated ***
00005 
00006 #include <vector>
00007 #include <iosfwd>
00008 #include <cstring>
00009 #include "ndarray/ndarray.h"
00010 #include "pdsdata/xtc/TypeId.hh"
00011 namespace Psana {
00012 namespace Andor {
00013 
00014 /** @class ConfigV1
00015 
00016   
00017 */
00018 
00019 
00020 class ConfigV1 {
00021 public:
00022   enum { TypeId = Pds::TypeId::Id_AndorConfig /**< XTC type ID value (from Pds::TypeId class) */ };
00023   enum { Version = 1 /**< XTC type version number */ };
00024   enum EnumFanMode {
00025     ENUM_FAN_FULL = 0,
00026     ENUM_FAN_LOW = 1,
00027     ENUM_FAN_OFF = 2,
00028     ENUM_FAN_ACQOFF = 3,
00029     ENUM_FAN_NUM = 4,
00030   };
00031   virtual ~ConfigV1();
00032   virtual uint32_t width() const = 0;
00033   virtual uint32_t height() const = 0;
00034   virtual uint32_t orgX() const = 0;
00035   virtual uint32_t orgY() const = 0;
00036   virtual uint32_t binX() const = 0;
00037   virtual uint32_t binY() const = 0;
00038   virtual float exposureTime() const = 0;
00039   virtual float coolingTemp() const = 0;
00040   virtual Andor::ConfigV1::EnumFanMode fanMode() const = 0;
00041   virtual uint8_t baselineClamp() const = 0;
00042   virtual uint8_t highCapacity() const = 0;
00043   virtual uint8_t gainIndex() const = 0;
00044   virtual uint16_t readoutSpeedIndex() const = 0;
00045   virtual uint16_t exposureEventCode() const = 0;
00046   virtual uint32_t numDelayShots() const = 0;
00047   /** Total size in bytes of the Frame object */
00048   virtual uint32_t frameSize() const = 0;
00049   /** calculate frame X size in pixels based on the current ROI and binning settings */
00050   virtual uint32_t numPixelsX() const = 0;
00051   /** calculate frame Y size in pixels based on the current ROI and binning settings */
00052   virtual uint32_t numPixelsY() const = 0;
00053   /** calculate total frame size in pixels based on the current ROI and binning settings */
00054   virtual uint32_t numPixels() const = 0;
00055 };
00056 std::ostream& operator<<(std::ostream& str, Andor::ConfigV1::EnumFanMode enval);
00057 
00058 /** @class ConfigV2
00059 
00060   
00061 */
00062 
00063 
00064 class ConfigV2 {
00065 public:
00066   enum { TypeId = Pds::TypeId::Id_AndorConfig /**< XTC type ID value (from Pds::TypeId class) */ };
00067   enum { Version = 2 /**< XTC type version number */ };
00068   enum EnumFanMode {
00069     ENUM_FAN_FULL = 0,
00070     ENUM_FAN_LOW = 1,
00071     ENUM_FAN_OFF = 2,
00072     ENUM_FAN_ACQOFF = 3,
00073     ENUM_FAN_NUM = 4,
00074   };
00075   enum EnumCropMode {
00076     ENUM_CROP_OFF = 0,
00077     ENUM_CROP_ON = 1,
00078     ENUM_CROP_EX = 2,
00079     ENUM_CROP_NUM = 3,
00080   };
00081   virtual ~ConfigV2();
00082   virtual uint32_t width() const = 0;
00083   virtual uint32_t height() const = 0;
00084   virtual uint32_t orgX() const = 0;
00085   virtual uint32_t orgY() const = 0;
00086   virtual uint32_t binX() const = 0;
00087   virtual uint32_t binY() const = 0;
00088   virtual float exposureTime() const = 0;
00089   virtual float coolingTemp() const = 0;
00090   virtual Andor::ConfigV2::EnumFanMode fanMode() const = 0;
00091   virtual Andor::ConfigV2::EnumCropMode cropMode() const = 0;
00092   virtual uint8_t baselineClamp() const = 0;
00093   virtual uint8_t highCapacity() const = 0;
00094   virtual uint8_t gainIndex() const = 0;
00095   virtual uint16_t readoutSpeedIndex() const = 0;
00096   virtual uint16_t exposureEventCode() const = 0;
00097   virtual uint32_t numDelayShots() const = 0;
00098   /** Total size in bytes of the Frame object */
00099   virtual uint32_t frameSize() const = 0;
00100   /** calculate frame X size in pixels based on the current ROI and binning settings */
00101   virtual uint32_t numPixelsX() const = 0;
00102   /** calculate frame Y size in pixels based on the current ROI and binning settings */
00103   virtual uint32_t numPixelsY() const = 0;
00104   /** calculate total frame size in pixels based on the current ROI and binning settings */
00105   virtual uint32_t numPixels() const = 0;
00106 };
00107 std::ostream& operator<<(std::ostream& str, Andor::ConfigV2::EnumFanMode enval);
00108 std::ostream& operator<<(std::ostream& str, Andor::ConfigV2::EnumCropMode enval);
00109 
00110 /** @class FrameV1
00111 
00112   
00113 */
00114 
00115 class ConfigV1;
00116 class ConfigV2;
00117 
00118 class FrameV1 {
00119 public:
00120   enum { TypeId = Pds::TypeId::Id_AndorFrame /**< XTC type ID value (from Pds::TypeId class) */ };
00121   enum { Version = 1 /**< XTC type version number */ };
00122   virtual ~FrameV1();
00123   virtual uint32_t shotIdStart() const = 0;
00124   virtual float readoutTime() const = 0;
00125   virtual float temperature() const = 0;
00126   virtual ndarray<const uint16_t, 2> data() const = 0;
00127 };
00128 } // namespace Andor
00129 } // namespace Psana
00130 #endif // PSANA_ANDOR_DDL_H

Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7