psddl_psana/include/timepix.ddl.h

Go to the documentation of this file.
00001 #ifndef PSANA_TIMEPIX_DDL_H
00002 #define PSANA_TIMEPIX_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 Timepix {
00013 
00014 /** @class ConfigV1
00015 
00016   
00017 */
00018 
00019 
00020 class ConfigV1 {
00021 public:
00022   enum { TypeId = Pds::TypeId::Id_TimepixConfig /**< XTC type ID value (from Pds::TypeId class) */ };
00023   enum { Version = 1 /**< XTC type version number */ };
00024   enum { ChipCount = 4 };
00025   enum ReadoutSpeed {
00026     ReadoutSpeed_Slow = 0,
00027     ReadoutSpeed_Fast = 1,
00028   };
00029   enum TriggerMode {
00030     TriggerMode_ExtPos = 0,
00031     TriggerMode_ExtNeg = 1,
00032     TriggerMode_Soft = 2,
00033   };
00034   virtual ~ConfigV1();
00035   virtual Timepix::ConfigV1::ReadoutSpeed readoutSpeed() const = 0;
00036   virtual Timepix::ConfigV1::TriggerMode triggerMode() const = 0;
00037   virtual int32_t shutterTimeout() const = 0;
00038   virtual int32_t dac0Ikrum() const = 0;
00039   virtual int32_t dac0Disc() const = 0;
00040   virtual int32_t dac0Preamp() const = 0;
00041   virtual int32_t dac0BufAnalogA() const = 0;
00042   virtual int32_t dac0BufAnalogB() const = 0;
00043   virtual int32_t dac0Hist() const = 0;
00044   virtual int32_t dac0ThlFine() const = 0;
00045   virtual int32_t dac0ThlCourse() const = 0;
00046   virtual int32_t dac0Vcas() const = 0;
00047   virtual int32_t dac0Fbk() const = 0;
00048   virtual int32_t dac0Gnd() const = 0;
00049   virtual int32_t dac0Ths() const = 0;
00050   virtual int32_t dac0BiasLvds() const = 0;
00051   virtual int32_t dac0RefLvds() const = 0;
00052   virtual int32_t dac1Ikrum() const = 0;
00053   virtual int32_t dac1Disc() const = 0;
00054   virtual int32_t dac1Preamp() const = 0;
00055   virtual int32_t dac1BufAnalogA() const = 0;
00056   virtual int32_t dac1BufAnalogB() const = 0;
00057   virtual int32_t dac1Hist() const = 0;
00058   virtual int32_t dac1ThlFine() const = 0;
00059   virtual int32_t dac1ThlCourse() const = 0;
00060   virtual int32_t dac1Vcas() const = 0;
00061   virtual int32_t dac1Fbk() const = 0;
00062   virtual int32_t dac1Gnd() const = 0;
00063   virtual int32_t dac1Ths() const = 0;
00064   virtual int32_t dac1BiasLvds() const = 0;
00065   virtual int32_t dac1RefLvds() const = 0;
00066   virtual int32_t dac2Ikrum() const = 0;
00067   virtual int32_t dac2Disc() const = 0;
00068   virtual int32_t dac2Preamp() const = 0;
00069   virtual int32_t dac2BufAnalogA() const = 0;
00070   virtual int32_t dac2BufAnalogB() const = 0;
00071   virtual int32_t dac2Hist() const = 0;
00072   virtual int32_t dac2ThlFine() const = 0;
00073   virtual int32_t dac2ThlCourse() const = 0;
00074   virtual int32_t dac2Vcas() const = 0;
00075   virtual int32_t dac2Fbk() const = 0;
00076   virtual int32_t dac2Gnd() const = 0;
00077   virtual int32_t dac2Ths() const = 0;
00078   virtual int32_t dac2BiasLvds() const = 0;
00079   virtual int32_t dac2RefLvds() const = 0;
00080   virtual int32_t dac3Ikrum() const = 0;
00081   virtual int32_t dac3Disc() const = 0;
00082   virtual int32_t dac3Preamp() const = 0;
00083   virtual int32_t dac3BufAnalogA() const = 0;
00084   virtual int32_t dac3BufAnalogB() const = 0;
00085   virtual int32_t dac3Hist() const = 0;
00086   virtual int32_t dac3ThlFine() const = 0;
00087   virtual int32_t dac3ThlCourse() const = 0;
00088   virtual int32_t dac3Vcas() const = 0;
00089   virtual int32_t dac3Fbk() const = 0;
00090   virtual int32_t dac3Gnd() const = 0;
00091   virtual int32_t dac3Ths() const = 0;
00092   virtual int32_t dac3BiasLvds() const = 0;
00093   virtual int32_t dac3RefLvds() const = 0;
00094 };
00095 std::ostream& operator<<(std::ostream& str, Timepix::ConfigV1::ReadoutSpeed enval);
00096 std::ostream& operator<<(std::ostream& str, Timepix::ConfigV1::TriggerMode enval);
00097 
00098 /** @class ConfigV2
00099 
00100   
00101 */
00102 
00103 
00104 class ConfigV2 {
00105 public:
00106   enum { TypeId = Pds::TypeId::Id_TimepixConfig /**< XTC type ID value (from Pds::TypeId class) */ };
00107   enum { Version = 2 /**< XTC type version number */ };
00108   enum { ChipCount = 4 };
00109   enum { ChipNameMax = 16 };
00110   enum { PixelThreshMax = 4*256*256 };
00111   enum ReadoutSpeed {
00112     ReadoutSpeed_Slow = 0,
00113     ReadoutSpeed_Fast = 1,
00114   };
00115   enum TriggerMode {
00116     TriggerMode_ExtPos = 0,
00117     TriggerMode_ExtNeg = 1,
00118     TriggerMode_Soft = 2,
00119   };
00120   virtual ~ConfigV2();
00121   virtual Timepix::ConfigV2::ReadoutSpeed readoutSpeed() const = 0;
00122   virtual Timepix::ConfigV2::TriggerMode triggerMode() const = 0;
00123   virtual int32_t timepixSpeed() const = 0;
00124   virtual int32_t dac0Ikrum() const = 0;
00125   virtual int32_t dac0Disc() const = 0;
00126   virtual int32_t dac0Preamp() const = 0;
00127   virtual int32_t dac0BufAnalogA() const = 0;
00128   virtual int32_t dac0BufAnalogB() const = 0;
00129   virtual int32_t dac0Hist() const = 0;
00130   virtual int32_t dac0ThlFine() const = 0;
00131   virtual int32_t dac0ThlCourse() const = 0;
00132   virtual int32_t dac0Vcas() const = 0;
00133   virtual int32_t dac0Fbk() const = 0;
00134   virtual int32_t dac0Gnd() const = 0;
00135   virtual int32_t dac0Ths() const = 0;
00136   virtual int32_t dac0BiasLvds() const = 0;
00137   virtual int32_t dac0RefLvds() const = 0;
00138   virtual int32_t dac1Ikrum() const = 0;
00139   virtual int32_t dac1Disc() const = 0;
00140   virtual int32_t dac1Preamp() const = 0;
00141   virtual int32_t dac1BufAnalogA() const = 0;
00142   virtual int32_t dac1BufAnalogB() const = 0;
00143   virtual int32_t dac1Hist() const = 0;
00144   virtual int32_t dac1ThlFine() const = 0;
00145   virtual int32_t dac1ThlCourse() const = 0;
00146   virtual int32_t dac1Vcas() const = 0;
00147   virtual int32_t dac1Fbk() const = 0;
00148   virtual int32_t dac1Gnd() const = 0;
00149   virtual int32_t dac1Ths() const = 0;
00150   virtual int32_t dac1BiasLvds() const = 0;
00151   virtual int32_t dac1RefLvds() const = 0;
00152   virtual int32_t dac2Ikrum() const = 0;
00153   virtual int32_t dac2Disc() const = 0;
00154   virtual int32_t dac2Preamp() const = 0;
00155   virtual int32_t dac2BufAnalogA() const = 0;
00156   virtual int32_t dac2BufAnalogB() const = 0;
00157   virtual int32_t dac2Hist() const = 0;
00158   virtual int32_t dac2ThlFine() const = 0;
00159   virtual int32_t dac2ThlCourse() const = 0;
00160   virtual int32_t dac2Vcas() const = 0;
00161   virtual int32_t dac2Fbk() const = 0;
00162   virtual int32_t dac2Gnd() const = 0;
00163   virtual int32_t dac2Ths() const = 0;
00164   virtual int32_t dac2BiasLvds() const = 0;
00165   virtual int32_t dac2RefLvds() const = 0;
00166   virtual int32_t dac3Ikrum() const = 0;
00167   virtual int32_t dac3Disc() const = 0;
00168   virtual int32_t dac3Preamp() const = 0;
00169   virtual int32_t dac3BufAnalogA() const = 0;
00170   virtual int32_t dac3BufAnalogB() const = 0;
00171   virtual int32_t dac3Hist() const = 0;
00172   virtual int32_t dac3ThlFine() const = 0;
00173   virtual int32_t dac3ThlCourse() const = 0;
00174   virtual int32_t dac3Vcas() const = 0;
00175   virtual int32_t dac3Fbk() const = 0;
00176   virtual int32_t dac3Gnd() const = 0;
00177   virtual int32_t dac3Ths() const = 0;
00178   virtual int32_t dac3BiasLvds() const = 0;
00179   virtual int32_t dac3RefLvds() const = 0;
00180   virtual int32_t driverVersion() const = 0;
00181   virtual uint32_t firmwareVersion() const = 0;
00182   virtual uint32_t pixelThreshSize() const = 0;
00183   virtual ndarray<const uint8_t, 1> pixelThresh() const = 0;
00184   virtual const char* chip0Name() const = 0;
00185   virtual const char* chip1Name() const = 0;
00186   virtual const char* chip2Name() const = 0;
00187   virtual const char* chip3Name() const = 0;
00188   virtual int32_t chip0ID() const = 0;
00189   virtual int32_t chip1ID() const = 0;
00190   virtual int32_t chip2ID() const = 0;
00191   virtual int32_t chip3ID() const = 0;
00192   virtual int32_t chipCount() const = 0;
00193 };
00194 std::ostream& operator<<(std::ostream& str, Timepix::ConfigV2::ReadoutSpeed enval);
00195 std::ostream& operator<<(std::ostream& str, Timepix::ConfigV2::TriggerMode enval);
00196 
00197 /** @class ConfigV3
00198 
00199   
00200 */
00201 
00202 
00203 class ConfigV3 {
00204 public:
00205   enum { TypeId = Pds::TypeId::Id_TimepixConfig /**< XTC type ID value (from Pds::TypeId class) */ };
00206   enum { Version = 3 /**< XTC type version number */ };
00207   enum { ChipCount = 4 };
00208   enum { ChipNameMax = 16 };
00209   enum { PixelThreshMax = 4*256*256 };
00210   enum ReadoutSpeed {
00211     ReadoutSpeed_Slow = 0,
00212     ReadoutSpeed_Fast = 1,
00213   };
00214   enum TimepixMode {
00215     TimepixMode_Counting = 0,
00216     TimepixMode_TOT = 1,
00217   };
00218   virtual ~ConfigV3();
00219   virtual Timepix::ConfigV3::ReadoutSpeed readoutSpeed() const = 0;
00220   virtual Timepix::ConfigV3::TimepixMode timepixMode() const = 0;
00221   virtual int32_t timepixSpeed() const = 0;
00222   virtual int32_t dac0Ikrum() const = 0;
00223   virtual int32_t dac0Disc() const = 0;
00224   virtual int32_t dac0Preamp() const = 0;
00225   virtual int32_t dac0BufAnalogA() const = 0;
00226   virtual int32_t dac0BufAnalogB() const = 0;
00227   virtual int32_t dac0Hist() const = 0;
00228   virtual int32_t dac0ThlFine() const = 0;
00229   virtual int32_t dac0ThlCourse() const = 0;
00230   virtual int32_t dac0Vcas() const = 0;
00231   virtual int32_t dac0Fbk() const = 0;
00232   virtual int32_t dac0Gnd() const = 0;
00233   virtual int32_t dac0Ths() const = 0;
00234   virtual int32_t dac0BiasLvds() const = 0;
00235   virtual int32_t dac0RefLvds() const = 0;
00236   virtual int32_t dac1Ikrum() const = 0;
00237   virtual int32_t dac1Disc() const = 0;
00238   virtual int32_t dac1Preamp() const = 0;
00239   virtual int32_t dac1BufAnalogA() const = 0;
00240   virtual int32_t dac1BufAnalogB() const = 0;
00241   virtual int32_t dac1Hist() const = 0;
00242   virtual int32_t dac1ThlFine() const = 0;
00243   virtual int32_t dac1ThlCourse() const = 0;
00244   virtual int32_t dac1Vcas() const = 0;
00245   virtual int32_t dac1Fbk() const = 0;
00246   virtual int32_t dac1Gnd() const = 0;
00247   virtual int32_t dac1Ths() const = 0;
00248   virtual int32_t dac1BiasLvds() const = 0;
00249   virtual int32_t dac1RefLvds() const = 0;
00250   virtual int32_t dac2Ikrum() const = 0;
00251   virtual int32_t dac2Disc() const = 0;
00252   virtual int32_t dac2Preamp() const = 0;
00253   virtual int32_t dac2BufAnalogA() const = 0;
00254   virtual int32_t dac2BufAnalogB() const = 0;
00255   virtual int32_t dac2Hist() const = 0;
00256   virtual int32_t dac2ThlFine() const = 0;
00257   virtual int32_t dac2ThlCourse() const = 0;
00258   virtual int32_t dac2Vcas() const = 0;
00259   virtual int32_t dac2Fbk() const = 0;
00260   virtual int32_t dac2Gnd() const = 0;
00261   virtual int32_t dac2Ths() const = 0;
00262   virtual int32_t dac2BiasLvds() const = 0;
00263   virtual int32_t dac2RefLvds() const = 0;
00264   virtual int32_t dac3Ikrum() const = 0;
00265   virtual int32_t dac3Disc() const = 0;
00266   virtual int32_t dac3Preamp() const = 0;
00267   virtual int32_t dac3BufAnalogA() const = 0;
00268   virtual int32_t dac3BufAnalogB() const = 0;
00269   virtual int32_t dac3Hist() const = 0;
00270   virtual int32_t dac3ThlFine() const = 0;
00271   virtual int32_t dac3ThlCourse() const = 0;
00272   virtual int32_t dac3Vcas() const = 0;
00273   virtual int32_t dac3Fbk() const = 0;
00274   virtual int32_t dac3Gnd() const = 0;
00275   virtual int32_t dac3Ths() const = 0;
00276   virtual int32_t dac3BiasLvds() const = 0;
00277   virtual int32_t dac3RefLvds() const = 0;
00278   virtual int8_t dacBias() const = 0;
00279   virtual int8_t flags() const = 0;
00280   virtual int32_t driverVersion() const = 0;
00281   virtual uint32_t firmwareVersion() const = 0;
00282   virtual uint32_t pixelThreshSize() const = 0;
00283   virtual ndarray<const uint8_t, 1> pixelThresh() const = 0;
00284   virtual const char* chip0Name() const = 0;
00285   virtual const char* chip1Name() const = 0;
00286   virtual const char* chip2Name() const = 0;
00287   virtual const char* chip3Name() const = 0;
00288   virtual int32_t chip0ID() const = 0;
00289   virtual int32_t chip1ID() const = 0;
00290   virtual int32_t chip2ID() const = 0;
00291   virtual int32_t chip3ID() const = 0;
00292   virtual int32_t chipCount() const = 0;
00293 };
00294 std::ostream& operator<<(std::ostream& str, Timepix::ConfigV3::ReadoutSpeed enval);
00295 std::ostream& operator<<(std::ostream& str, Timepix::ConfigV3::TimepixMode enval);
00296 
00297 /** @class DataV1
00298 
00299   
00300 */
00301 
00302 
00303 class DataV1 {
00304 public:
00305   enum { TypeId = Pds::TypeId::Id_TimepixData /**< XTC type ID value (from Pds::TypeId class) */ };
00306   enum { Version = 1 /**< XTC type version number */ };
00307   enum { Height = 512 };
00308   enum { Width = 512 };
00309   enum { Depth = 14 };
00310   enum { DepthBytes = 2 };
00311   enum { MaxPixelValue = 11810 };
00312   virtual ~DataV1();
00313   virtual uint32_t timestamp() const = 0;
00314   virtual uint16_t frameCounter() const = 0;
00315   virtual uint16_t lostRows() const = 0;
00316   virtual ndarray<const uint16_t, 2> data() const = 0;
00317   virtual uint32_t width() const = 0;
00318   virtual uint32_t height() const = 0;
00319   virtual uint32_t depth() const = 0;
00320   virtual uint32_t depth_bytes() const = 0;
00321   /** Size of the image data in bytes. */
00322   virtual uint32_t data_size() const = 0;
00323 };
00324 
00325 /** @class DataV2
00326 
00327   
00328 */
00329 
00330 
00331 class DataV2 {
00332 public:
00333   enum { TypeId = Pds::TypeId::Id_TimepixData /**< XTC type ID value (from Pds::TypeId class) */ };
00334   enum { Version = 2 /**< XTC type version number */ };
00335   enum { Depth = 14 };
00336   enum { MaxPixelValue = 11810 };
00337   virtual ~DataV2();
00338   /** Pixels per row */
00339   virtual uint16_t width() const = 0;
00340   /** Pixels per column */
00341   virtual uint16_t height() const = 0;
00342   /** hardware timestamp */
00343   virtual uint32_t timestamp() const = 0;
00344   /** hardware frame counter */
00345   virtual uint16_t frameCounter() const = 0;
00346   /** lost row count */
00347   virtual uint16_t lostRows() const = 0;
00348   virtual ndarray<const uint16_t, 2> data() const = 0;
00349   virtual uint32_t depth() const = 0;
00350   virtual uint32_t depth_bytes() const = 0;
00351   /** Size of the image data in bytes. */
00352   virtual uint32_t data_size() const = 0;
00353 };
00354 } // namespace Timepix
00355 } // namespace Psana
00356 #endif // PSANA_TIMEPIX_DDL_H

Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7