psddl_psana/include/alias.ddl.h

Go to the documentation of this file.
00001 #ifndef PSANA_ALIAS_DDL_H
00002 #define PSANA_ALIAS_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 #include "pdsdata/xtc/Src.hh"
00012 namespace Psana {
00013 namespace Alias {
00014 
00015 /** @class SrcAlias
00016 
00017   
00018 */
00019 
00020 
00021 class SrcAlias {
00022 public:
00023   enum { AliasNameMax = 31 };
00024   SrcAlias(const Pds::Src& arg__src, const char* arg__aliasName);
00025   SrcAlias() {}
00026   /** The src identifier */
00027   const Pds::Src& src() const { return _src; }
00028   /** Alias name for src identifier */
00029   const char* aliasName() const { return _aliasName; }
00030   uint8_t operator<(const Alias::SrcAlias& other) const;
00031   uint8_t operator==(const Alias::SrcAlias& other) const;
00032   static uint32_t _sizeof() { return ((((((0+(Pds::Src::_sizeof()))+(1*(AliasNameMax)))+1)+4)-1)/4)*4; }
00033   /** Method which returns the shape (dimensions) of the data returned by aliasName() method. */
00034   std::vector<int> aliasName_shape() const;
00035 private:
00036   Pds::Src      _src;   /**< The src identifier */
00037   char  _aliasName[AliasNameMax];       /**< Alias name for src identifier */
00038   char  _pad1;
00039 };
00040 
00041 /** @class ConfigV1
00042 
00043   
00044 */
00045 
00046 
00047 class ConfigV1 {
00048 public:
00049   enum { TypeId = Pds::TypeId::Id_AliasConfig /**< XTC type ID value (from Pds::TypeId class) */ };
00050   enum { Version = 1 /**< XTC type version number */ };
00051   virtual ~ConfigV1();
00052   /** Number of alias definitions */
00053   virtual uint32_t numSrcAlias() const = 0;
00054   /** SrcAlias configuration objects */
00055   virtual ndarray<const Alias::SrcAlias, 1> srcAlias() const = 0;
00056 };
00057 } // namespace Alias
00058 } // namespace Psana
00059 #endif // PSANA_ALIAS_DDL_H

Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7