psddl_psana/include/generic1d.ddl.h

Go to the documentation of this file.
00001 #ifndef PSANA_GENERIC1D_DDL_H
00002 #define PSANA_GENERIC1D_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 Generic1D {
00013 
00014 /** @class ConfigV0
00015 
00016   
00017 */
00018 
00019 
00020 class ConfigV0 {
00021 public:
00022   enum { TypeId = Pds::TypeId::Id_Generic1DConfig /**< XTC type ID value (from Pds::TypeId class) */ };
00023   enum { Version = 0 /**< XTC type version number */ };
00024   enum Sample_Type {
00025     UINT8,
00026     UINT16,
00027     UINT32,
00028     FLOAT32,
00029     FLOAT64,
00030   };
00031   virtual ~ConfigV0();
00032   /** Number of channels */
00033   virtual uint32_t NChannels() const = 0;
00034   /** Waveform Length */
00035   virtual ndarray<const uint32_t, 1> Length() const = 0;
00036   /** Waveform Sample Type */
00037   virtual ndarray<const uint32_t, 1> SampleType() const = 0;
00038   /** Waveform Delay Samples */
00039   virtual ndarray<const int32_t, 1> Offset() const = 0;
00040   /** Waveform Sampling Period */
00041   virtual ndarray<const double, 1> Period() const = 0;
00042   virtual int32_t data_offset(uint32_t channel) const = 0;
00043   virtual uint32_t Depth(uint32_t channel) const = 0;
00044 };
00045 std::ostream& operator<<(std::ostream& str, Generic1D::ConfigV0::Sample_Type enval);
00046 
00047 /** @class DataV0
00048 
00049   
00050 */
00051 
00052 class ConfigV0;
00053 
00054 class DataV0 {
00055 public:
00056   enum { TypeId = Pds::TypeId::Id_Generic1DData /**< XTC type ID value (from Pds::TypeId class) */ };
00057   enum { Version = 0 /**< XTC type version number */ };
00058   virtual ~DataV0();
00059   virtual uint32_t data_size() const = 0;
00060   virtual ndarray<const uint8_t, 1> _int_data() const = 0;
00061   virtual ndarray<const uint8_t, 1> data_u8(uint32_t channel) const = 0;
00062   virtual ndarray<const uint16_t, 1> data_u16(uint32_t channel) const = 0;
00063   virtual ndarray<const uint32_t, 1> data_u32(uint32_t channel) const = 0;
00064   virtual ndarray<const float, 1> data_f32(uint32_t channel) const = 0;
00065   virtual ndarray<const double, 1> data_f64(uint32_t channel) const = 0;
00066 };
00067 } // namespace Generic1D
00068 } // namespace Psana
00069 #endif // PSANA_GENERIC1D_DDL_H

Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7