psddl_psana/include/ipimb.ddl.h

Go to the documentation of this file.
00001 #ifndef PSANA_IPIMB_DDL_H
00002 #define PSANA_IPIMB_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 Ipimb {
00013 
00014 /** @class ConfigV1
00015 
00016   
00017 */
00018 
00019 
00020 class ConfigV1 {
00021 public:
00022   enum { TypeId = Pds::TypeId::Id_IpimbConfig /**< XTC type ID value (from Pds::TypeId class) */ };
00023   enum { Version = 1 /**< XTC type version number */ };
00024   enum CapacitorValue {
00025     c_1pF,
00026     c_100pF,
00027     c_10nF,
00028   };
00029   virtual ~ConfigV1();
00030   virtual uint64_t triggerCounter() const = 0;
00031   virtual uint64_t serialID() const = 0;
00032   virtual uint16_t chargeAmpRange() const = 0;
00033   virtual uint16_t calibrationRange() const = 0;
00034   virtual uint32_t resetLength() const = 0;
00035   virtual uint32_t resetDelay() const = 0;
00036   virtual float chargeAmpRefVoltage() const = 0;
00037   virtual float calibrationVoltage() const = 0;
00038   virtual float diodeBias() const = 0;
00039   virtual uint16_t status() const = 0;
00040   virtual uint16_t errors() const = 0;
00041   virtual uint16_t calStrobeLength() const = 0;
00042   virtual uint32_t trigDelay() const = 0;
00043   /** Returns CapacitorValue enum for given channel number (0..3). */
00044   virtual Ipimb::ConfigV1::CapacitorValue capacitorValue(uint32_t ch) const = 0;
00045   /** Returns array of CapacitorValue enums. */
00046   virtual ndarray<const uint8_t, 1> capacitorValues() const = 0;
00047 };
00048 std::ostream& operator<<(std::ostream& str, Ipimb::ConfigV1::CapacitorValue enval);
00049 
00050 /** @class ConfigV2
00051 
00052   
00053 */
00054 
00055 
00056 class ConfigV2 {
00057 public:
00058   enum { TypeId = Pds::TypeId::Id_IpimbConfig /**< XTC type ID value (from Pds::TypeId class) */ };
00059   enum { Version = 2 /**< XTC type version number */ };
00060   enum CapacitorValue {
00061     c_1pF,
00062     c_4p7pF,
00063     c_24pF,
00064     c_120pF,
00065     c_620pF,
00066     c_3p3nF,
00067     c_10nF,
00068     expert,
00069   };
00070   virtual ~ConfigV2();
00071   virtual uint64_t triggerCounter() const = 0;
00072   virtual uint64_t serialID() const = 0;
00073   virtual uint16_t chargeAmpRange() const = 0;
00074   virtual uint16_t calibrationRange() const = 0;
00075   virtual uint32_t resetLength() const = 0;
00076   virtual uint32_t resetDelay() const = 0;
00077   virtual float chargeAmpRefVoltage() const = 0;
00078   virtual float calibrationVoltage() const = 0;
00079   virtual float diodeBias() const = 0;
00080   virtual uint16_t status() const = 0;
00081   virtual uint16_t errors() const = 0;
00082   virtual uint16_t calStrobeLength() const = 0;
00083   virtual uint32_t trigDelay() const = 0;
00084   virtual uint32_t trigPsDelay() const = 0;
00085   virtual uint32_t adcDelay() const = 0;
00086   /** Returns CapacitorValue enum for given channel number (0..3). */
00087   virtual Ipimb::ConfigV2::CapacitorValue capacitorValue(uint32_t ch) const = 0;
00088   /** Returns array of CapacitorValue enums. */
00089   virtual ndarray<const uint8_t, 1> capacitorValues() const = 0;
00090 };
00091 std::ostream& operator<<(std::ostream& str, Ipimb::ConfigV2::CapacitorValue enval);
00092 
00093 /** @class DataV1
00094 
00095   
00096 */
00097 
00098 
00099 class DataV1 {
00100 public:
00101   enum { TypeId = Pds::TypeId::Id_IpimbData /**< XTC type ID value (from Pds::TypeId class) */ };
00102   enum { Version = 1 /**< XTC type version number */ };
00103   virtual ~DataV1();
00104   virtual uint64_t triggerCounter() const = 0;
00105   virtual uint16_t config0() const = 0;
00106   virtual uint16_t config1() const = 0;
00107   virtual uint16_t config2() const = 0;
00108   /** Raw counts value returned from channel 0. */
00109   virtual uint16_t channel0() const = 0;
00110   /** Raw counts value returned from channel 1. */
00111   virtual uint16_t channel1() const = 0;
00112   /** Raw counts value returned from channel 2. */
00113   virtual uint16_t channel2() const = 0;
00114   /** Raw counts value returned from channel 3. */
00115   virtual uint16_t channel3() const = 0;
00116   virtual uint16_t checksum() const = 0;
00117   /** Value of of channel0() converted to Volts. */
00118   virtual float channel0Volts() const = 0;
00119   /** Value of of channel1() converted to Volts. */
00120   virtual float channel1Volts() const = 0;
00121   /** Value of of channel2() converted to Volts. */
00122   virtual float channel2Volts() const = 0;
00123   /** Value of of channel3() converted to Volts. */
00124   virtual float channel3Volts() const = 0;
00125 };
00126 
00127 /** @class DataV2
00128 
00129   
00130 */
00131 
00132 
00133 class DataV2 {
00134 public:
00135   enum { TypeId = Pds::TypeId::Id_IpimbData /**< XTC type ID value (from Pds::TypeId class) */ };
00136   enum { Version = 2 /**< XTC type version number */ };
00137   enum { ipimbAdcRange = 5 };
00138   enum { ipimbAdcSteps = 65536 };
00139   virtual ~DataV2();
00140   virtual uint16_t config0() const = 0;
00141   virtual uint16_t config1() const = 0;
00142   virtual uint16_t config2() const = 0;
00143   /** Raw counts value returned from channel 0. */
00144   virtual uint16_t channel0() const = 0;
00145   /** Raw counts value returned from channel 1. */
00146   virtual uint16_t channel1() const = 0;
00147   /** Raw counts value returned from channel 2. */
00148   virtual uint16_t channel2() const = 0;
00149   /** Raw counts value returned from channel 3. */
00150   virtual uint16_t channel3() const = 0;
00151   /** Raw counts value returned from channel 0. */
00152   virtual uint16_t channel0ps() const = 0;
00153   /** Raw counts value returned from channel 1. */
00154   virtual uint16_t channel1ps() const = 0;
00155   /** Raw counts value returned from channel 2. */
00156   virtual uint16_t channel2ps() const = 0;
00157   /** Raw counts value returned from channel 3. */
00158   virtual uint16_t channel3ps() const = 0;
00159   virtual uint16_t checksum() const = 0;
00160   /** Value of of channel0() converted to Volts. */
00161   virtual float channel0Volts() const = 0;
00162   /** Value of of channel1() converted to Volts. */
00163   virtual float channel1Volts() const = 0;
00164   /** Value of of channel2() converted to Volts. */
00165   virtual float channel2Volts() const = 0;
00166   /** Value of of channel3() converted to Volts. */
00167   virtual float channel3Volts() const = 0;
00168   /** Value of of channel0ps() converted to Volts. */
00169   virtual float channel0psVolts() const = 0;
00170   /** Value of of channel1ps() converted to Volts. */
00171   virtual float channel1psVolts() const = 0;
00172   /** Value of of channel2ps() converted to Volts. */
00173   virtual float channel2psVolts() const = 0;
00174   /** Value of of channel3ps() converted to Volts. */
00175   virtual float channel3psVolts() const = 0;
00176   /** Trigger counter value. */
00177   virtual uint64_t triggerCounter() const = 0;
00178 };
00179 } // namespace Ipimb
00180 } // namespace Psana
00181 #endif // PSANA_IPIMB_DDL_H

Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7