psddl_psana/include/partition.ddl.h

Go to the documentation of this file.
00001 #ifndef PSANA_PARTITION_DDL_H
00002 #define PSANA_PARTITION_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 Partition {
00014 
00015 /** @class Source
00016 
00017   
00018 */
00019 
00020 
00021 class Source {
00022 public:
00023   Source(const Pds::Src& arg__src, uint32_t arg__group);
00024   Source() {}
00025   const Pds::Src& src() const { return _src; }
00026   uint32_t group() const { return _group; }
00027   static uint32_t _sizeof() { return (((((0+(Pds::Src::_sizeof()))+4)+4)-1)/4)*4; }
00028 private:
00029   Pds::Src      _src;
00030   uint32_t      _group;
00031 };
00032 
00033 /** @class ConfigV1
00034 
00035   
00036 */
00037 
00038 
00039 class ConfigV1 {
00040 public:
00041   enum { TypeId = Pds::TypeId::Id_PartitionConfig /**< XTC type ID value (from Pds::TypeId class) */ };
00042   enum { Version = 1 /**< XTC type version number */ };
00043   virtual ~ConfigV1();
00044   /** Mask of requested BLD */
00045   virtual uint64_t bldMask() const = 0;
00046   /** Number of source definitions */
00047   virtual uint32_t numSources() const = 0;
00048   /** Source configuration objects */
00049   virtual ndarray<const Partition::Source, 1> sources() const = 0;
00050 };
00051 
00052 /** @class ConfigV2
00053 
00054   
00055 */
00056 
00057 
00058 class ConfigV2 {
00059 public:
00060   enum { TypeId = Pds::TypeId::Id_PartitionConfig /**< XTC type ID value (from Pds::TypeId class) */ };
00061   enum { Version = 2 /**< XTC type version number */ };
00062   virtual ~ConfigV2();
00063   /** Number of words for the bit mask */
00064   virtual uint32_t numWords() const = 0;
00065   /** Number of source definitions */
00066   virtual uint32_t numSources() const = 0;
00067   /** Mask of requested BLD */
00068   virtual ndarray<const uint32_t, 1> bldMask() const = 0;
00069   /** Source configuration objects */
00070   virtual ndarray<const Partition::Source, 1> sources() const = 0;
00071   /** Returns the total number of bits in the mask */
00072   virtual uint32_t numBldMaskBits() const = 0;
00073   /** Returns non-zero if all bits in the mask are unset, zero otherwise. */
00074   virtual uint32_t bldMaskIsZero() const = 0;
00075   /** Returns non-zero if any bits in the mask are set, zero otherwise. */
00076   virtual uint32_t bldMaskIsNotZero() const = 0;
00077   /** Returns non-zero if the bit cooresponding to iBit in the word is set, zero otherwise. */
00078   virtual uint32_t bldMaskHasBitSet(uint32_t iBit) const = 0;
00079   /** Returns non-zero if the bit cooresponding to iBit in the word is unset, zero otherwise. */
00080   virtual uint32_t bldMaskHasBitClear(uint32_t iBit) const = 0;
00081 };
00082 } // namespace Partition
00083 } // namespace Psana
00084 #endif // PSANA_PARTITION_DDL_H

Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7