psddl_psana/include/andor3d.ddl.h

Go to the documentation of this file.
00001 #ifndef PSANA_ANDOR3D_DDL_H
00002 #define PSANA_ANDOR3D_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 Andor3d {
00013 
00014 /** @class ConfigV1
00015 
00016   
00017 */
00018 
00019 
00020 class ConfigV1 {
00021 public:
00022   enum { TypeId = Pds::TypeId::Id_Andor3dConfig /**< 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 numSensors() const = 0;
00035   virtual uint32_t orgX() const = 0;
00036   virtual uint32_t orgY() const = 0;
00037   virtual uint32_t binX() const = 0;
00038   virtual uint32_t binY() const = 0;
00039   virtual float exposureTime() const = 0;
00040   virtual float coolingTemp() const = 0;
00041   virtual Andor3d::ConfigV1::EnumFanMode fanMode() const = 0;
00042   virtual uint8_t baselineClamp() const = 0;
00043   virtual uint8_t highCapacity() const = 0;
00044   virtual uint8_t gainIndex() const = 0;
00045   virtual uint16_t readoutSpeedIndex() const = 0;
00046   virtual uint16_t exposureEventCode() const = 0;
00047   virtual uint32_t exposureStartDelay() const = 0;
00048   virtual uint32_t numDelayShots() const = 0;
00049   /** Total size in bytes of the Frame object */
00050   virtual uint32_t frameSize() const = 0;
00051   /** calculate frame X size in pixels per sensor based on the current ROI and binning settings */
00052   virtual uint32_t numPixelsX() const = 0;
00053   /** calculate frame Y size in pixels per sensor based on the current ROI and binning settings */
00054   virtual uint32_t numPixelsY() const = 0;
00055   /** calculate total frame size in pixels per sensor based on the current ROI and binning settings */
00056   virtual uint32_t numPixelsPerSensor() const = 0;
00057   /** calculate total frame size in pixels based on the current ROI and binning settings */
00058   virtual uint32_t numPixels() const = 0;
00059 };
00060 std::ostream& operator<<(std::ostream& str, Andor3d::ConfigV1::EnumFanMode enval);
00061 
00062 /** @class FrameV1
00063 
00064   
00065 */
00066 
00067 class ConfigV1;
00068 
00069 class FrameV1 {
00070 public:
00071   enum { TypeId = Pds::TypeId::Id_Andor3dFrame /**< XTC type ID value (from Pds::TypeId class) */ };
00072   enum { Version = 1 /**< XTC type version number */ };
00073   virtual ~FrameV1();
00074   virtual uint32_t shotIdStart() const = 0;
00075   virtual float readoutTime() const = 0;
00076   virtual ndarray<const float, 1> temperature() const = 0;
00077   virtual ndarray<const uint16_t, 3> data() const = 0;
00078 };
00079 } // namespace Andor3d
00080 } // namespace Psana
00081 #endif // PSANA_ANDOR3D_DDL_H

Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7