psddl_psana/include/gsc16ai.ddl.h

Go to the documentation of this file.
00001 #ifndef PSANA_GSC16AI_DDL_H
00002 #define PSANA_GSC16AI_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 Gsc16ai {
00013 
00014 /** @class ConfigV1
00015 
00016   
00017 */
00018 
00019 
00020 class ConfigV1 {
00021 public:
00022   enum { TypeId = Pds::TypeId::Id_Gsc16aiConfig /**< XTC type ID value (from Pds::TypeId class) */ };
00023   enum { Version = 1 /**< XTC type version number */ };
00024   enum { LowestChannel = 0 };
00025   enum { HighestChannel = 15 };
00026   enum { LowestFps = 1 };
00027   enum { HighestFps = 120 };
00028   enum InputMode {
00029     InputMode_Differential = 0,
00030     InputMode_Zero = 1,
00031     InputMode_Vref = 2,
00032   };
00033   enum VoltageRange {
00034     VoltageRange_10V = 0,
00035     VoltageRange_5V,
00036     VoltageRange_2_5V,
00037   };
00038   enum TriggerMode {
00039     TriggerMode_ExtPos = 0,
00040     TriggerMode_ExtNeg,
00041     TriggerMode_IntClk,
00042   };
00043   enum DataFormat {
00044     DataFormat_TwosComplement = 0,
00045     DataFormat_OffsetBinary,
00046   };
00047   virtual ~ConfigV1();
00048   virtual Gsc16ai::ConfigV1::VoltageRange voltageRange() const = 0;
00049   virtual uint16_t firstChan() const = 0;
00050   virtual uint16_t lastChan() const = 0;
00051   virtual Gsc16ai::ConfigV1::InputMode inputMode() const = 0;
00052   virtual Gsc16ai::ConfigV1::TriggerMode triggerMode() const = 0;
00053   virtual Gsc16ai::ConfigV1::DataFormat dataFormat() const = 0;
00054   virtual uint16_t fps() const = 0;
00055   virtual uint8_t autocalibEnable() const = 0;
00056   virtual uint8_t timeTagEnable() const = 0;
00057   virtual uint16_t numChannels() const = 0;
00058 };
00059 std::ostream& operator<<(std::ostream& str, Gsc16ai::ConfigV1::InputMode enval);
00060 std::ostream& operator<<(std::ostream& str, Gsc16ai::ConfigV1::VoltageRange enval);
00061 std::ostream& operator<<(std::ostream& str, Gsc16ai::ConfigV1::TriggerMode enval);
00062 std::ostream& operator<<(std::ostream& str, Gsc16ai::ConfigV1::DataFormat enval);
00063 
00064 /** @class DataV1
00065 
00066   
00067 */
00068 
00069 class ConfigV1;
00070 
00071 class DataV1 {
00072 public:
00073   enum { TypeId = Pds::TypeId::Id_Gsc16aiData /**< XTC type ID value (from Pds::TypeId class) */ };
00074   enum { Version = 1 /**< XTC type version number */ };
00075   virtual ~DataV1();
00076   virtual ndarray<const uint16_t, 1> timestamp() const = 0;
00077   virtual ndarray<const uint16_t, 1> channelValue() const = 0;
00078 };
00079 } // namespace Gsc16ai
00080 } // namespace Psana
00081 #endif // PSANA_GSC16AI_DDL_H

Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7