00001 #ifndef CBLTREADOUTFORMAT_CBLTTRAITS_V1_3_H 00002 #define CBLTREADOUTFORMAT_CBLTTRAITS_V1_3_H 00003 00004 #include "CbltReadoutFormat/CbltTraits.h" 00005 00006 namespace DybDaq { 00007 00008 class CbltTraits_v1_3 : public CbltTraits { 00009 00010 public: 00011 00015 static const char* key(); 00016 00020 CbltTraits_v1_3(); 00021 00025 virtual ~CbltTraits_v1_3(); 00026 00027 /* 00028 * Returns the major version of the event format as an unsigned int. 00029 */ 00030 virtual unsigned int majorVersion() const; 00031 00032 /* 00033 * Returns the major version of the event format as an unsigned int. 00034 */ 00035 virtual unsigned int minorVersion() const; 00036 00040 virtual const std::string versionString() const; 00041 00042 protected: 00043 00047 virtual unsigned int markersEnd() const; 00048 00052 virtual const unsigned int* markers() const; 00053 00057 virtual unsigned int fieldsEnd() const; 00058 00062 virtual const unsigned int* indices() const; 00063 00067 virtual const unsigned int* shifts() const; 00068 00072 virtual const unsigned int* masks() const; 00073 00077 virtual const std::string* descriptions() const; 00078 00082 virtual DaqTraits::Definitions* definitions(unsigned int component) const; 00083 00087 virtual void setDefinitions(DaqTraits::Definitions* definitions, 00088 unsigned int component); 00092 virtual const unsigned int* componentFields(unsigned int component) const; 00093 00097 virtual const unsigned int componentFieldsEnd(unsigned int component) const; 00098 00102 virtual unsigned int maxModuleType() const; 00103 00107 virtual const unsigned int* moduleTypes() const; 00108 00112 virtual const char** moduleTypeStrings() const; 00113 00117 virtual unsigned int headSize() const; 00118 00122 virtual unsigned int footSize() const; 00123 00127 virtual void initializeHead(char* buffer) const; 00128 00132 virtual void initializeFoot(char* buffer) const; 00133 00134 private: 00135 00139 CbltTraits_v1_3(CbltTraits_v1_3& rhs); 00140 00144 CbltTraits_v1_3& operator=(CbltTraits_v1_3& rhs); 00145 00146 }; 00147 00148 } 00149 00150 #endif // CBLTREADOUTFORMAT_CBLTTRAITS_V1_3_H