psddl_psana/include/fccd.ddl.h

Go to the documentation of this file.
00001 #ifndef PSANA_FCCD_DDL_H
00002 #define PSANA_FCCD_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 FCCD {
00013 
00014 /** @class FccdConfigV1
00015 
00016   
00017 */
00018 
00019 
00020 class FccdConfigV1 {
00021 public:
00022   enum { TypeId = Pds::TypeId::Id_FccdConfig /**< XTC type ID value (from Pds::TypeId class) */ };
00023   enum { Version = 1 /**< XTC type version number */ };
00024   enum { Row_Pixels = 500 };
00025   enum { Column_Pixels = 576 };
00026   enum { Trimmed_Row_Pixels = 480 };
00027   enum { Trimmed_Column_Pixels = 480 };
00028   enum Depth {
00029     Sixteen_bit = 16,
00030   };
00031   enum Output_Source {
00032     Output_FIFO = 0,
00033     Output_Pattern4 = 4,
00034   };
00035   virtual ~FccdConfigV1();
00036   virtual uint16_t outputMode() const = 0;
00037   virtual uint32_t width() const = 0;
00038   virtual uint32_t height() const = 0;
00039   virtual uint32_t trimmedWidth() const = 0;
00040   virtual uint32_t trimmedHeight() const = 0;
00041 };
00042 std::ostream& operator<<(std::ostream& str, FCCD::FccdConfigV1::Depth enval);
00043 std::ostream& operator<<(std::ostream& str, FCCD::FccdConfigV1::Output_Source enval);
00044 
00045 /** @class FccdConfigV2
00046 
00047   
00048 */
00049 
00050 
00051 class FccdConfigV2 {
00052 public:
00053   enum { TypeId = Pds::TypeId::Id_FccdConfig /**< XTC type ID value (from Pds::TypeId class) */ };
00054   enum { Version = 2 /**< XTC type version number */ };
00055   enum { Row_Pixels = 500 };
00056   enum { Column_Pixels = 576 * 2 };
00057   enum { Trimmed_Row_Pixels = 480 };
00058   enum { Trimmed_Column_Pixels = 480 };
00059   enum { NVoltages = 17 };
00060   enum { NWaveforms = 15 };
00061   enum Depth {
00062     Eight_bit = 8,
00063     Sixteen_bit = 16,
00064   };
00065   enum Output_Source {
00066     Output_FIFO = 0,
00067     Test_Pattern1 = 1,
00068     Test_Pattern2 = 2,
00069     Test_Pattern3 = 3,
00070     Test_Pattern4 = 4,
00071   };
00072   virtual ~FccdConfigV2();
00073   virtual uint16_t outputMode() const = 0;
00074   virtual uint8_t ccdEnable() const = 0;
00075   virtual uint8_t focusMode() const = 0;
00076   virtual uint32_t exposureTime() const = 0;
00077   virtual ndarray<const float, 1> dacVoltages() const = 0;
00078   virtual ndarray<const uint16_t, 1> waveforms() const = 0;
00079   virtual uint32_t width() const = 0;
00080   virtual uint32_t height() const = 0;
00081   virtual uint32_t trimmedWidth() const = 0;
00082   virtual uint32_t trimmedHeight() const = 0;
00083 };
00084 std::ostream& operator<<(std::ostream& str, FCCD::FccdConfigV2::Depth enval);
00085 std::ostream& operator<<(std::ostream& str, FCCD::FccdConfigV2::Output_Source enval);
00086 } // namespace FCCD
00087 } // namespace Psana
00088 #endif // PSANA_FCCD_DDL_H

Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7