psddl_psana/include/l3t.ddl.h

Go to the documentation of this file.
00001 #ifndef PSANA_L3T_DDL_H
00002 #define PSANA_L3T_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 L3T {
00013 
00014 /** @class ConfigV1
00015 
00016   
00017 */
00018 
00019 
00020 class ConfigV1 {
00021 public:
00022   enum { TypeId = Pds::TypeId::Id_L3TConfig /**< XTC type ID value (from Pds::TypeId class) */ };
00023   enum { Version = 1 /**< XTC type version number */ };
00024   virtual ~ConfigV1();
00025   /** Length of the module identification string */
00026   virtual uint32_t module_id_len() const = 0;
00027   /** Length of the description string */
00028   virtual uint32_t desc_len() const = 0;
00029   /** The module identification string */
00030   virtual const char* module_id() const = 0;
00031   /** The description string */
00032   virtual const char* desc() const = 0;
00033   /** Method which returns the shape (dimensions) of the data returned by module_id() method. */
00034   virtual std::vector<int> module_id_shape() const = 0;
00035   /** Method which returns the shape (dimensions) of the data returned by desc() method. */
00036   virtual std::vector<int> desc_shape() const = 0;
00037 };
00038 
00039 /** @class DataV1
00040 
00041   
00042 */
00043 
00044 
00045 class DataV1 {
00046 public:
00047   enum { TypeId = Pds::TypeId::Id_L3TData /**< XTC type ID value (from Pds::TypeId class) */ };
00048   enum { Version = 1 /**< XTC type version number */ };
00049   virtual ~DataV1();
00050   /** Module trigger decision */
00051   virtual uint32_t accept() const = 0;
00052 };
00053 
00054 /** @class DataV2
00055 
00056   
00057 */
00058 
00059 
00060 class DataV2 {
00061 public:
00062   enum { TypeId = Pds::TypeId::Id_L3TData /**< XTC type ID value (from Pds::TypeId class) */ };
00063   enum { Version = 2 /**< XTC type version number */ };
00064   enum Result {
00065     Fail,
00066     Pass,
00067     None,
00068   };
00069   enum Bias {
00070     Unbiased,
00071     Biased,
00072   };
00073   virtual ~DataV2();
00074   virtual uint32_t accept() const = 0;
00075   /** Returns L3T Decision : None = insufficient information/resources */
00076   virtual L3T::DataV2::Result result() const = 0;
00077   /** Returns L3T Bias : Unbiased = recorded independent of decision */
00078   virtual L3T::DataV2::Bias bias() const = 0;
00079 };
00080 std::ostream& operator<<(std::ostream& str, L3T::DataV2::Result enval);
00081 std::ostream& operator<<(std::ostream& str, L3T::DataV2::Bias enval);
00082 } // namespace L3T
00083 } // namespace Psana
00084 #endif // PSANA_L3T_DDL_H

Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7