00001 #ifndef FILEREADOUTFORMAT_FILETRAITS_V0_6_H 00002 #define FILEREADOUTFORMAT_FILETRAITS_V0_6_H 00003 00004 /* 00005 * FileTraits_v0_6.h 00006 * FileReadoutFormat 00007 * 00008 * Created by Simon Patton on 7/19/10. 00009 * Copyright 2010 DayaBay Collaboration. All rights reserved. 00010 * 00011 */ 00012 00013 #include "FileReadoutFormat/FileTraits.h" 00014 00015 namespace DybDaq { 00016 00017 class FileTraits_v0_6 : public FileTraits { 00018 00019 public: 00020 00024 static const char* key(); 00025 00029 FileTraits_v0_6(); 00030 00034 virtual ~FileTraits_v0_6(); 00035 00039 virtual unsigned int majorVersion() const; 00040 00044 virtual unsigned int minorVersion() const; 00045 00049 virtual const std::string versionString() const; 00050 00051 protected: 00052 00056 virtual const unsigned int* recordSizes() const; 00057 00061 virtual unsigned int detectorListEnd() const; 00062 00066 virtual const char** detectorStrings() const; 00067 00071 virtual unsigned int markersEnd() const; 00072 00076 virtual const unsigned int* markers() const; 00077 00081 virtual unsigned int fieldsEnd() const; 00082 00086 virtual const unsigned int* indices() const; 00087 00091 virtual const unsigned int* shifts() const; 00092 00096 virtual const unsigned int* masks() const; 00097 00101 virtual const std::string* descriptions() const; 00102 00106 virtual DaqTraits::Definitions* definitions(unsigned int component) const; 00107 00111 virtual void setDefinitions(DaqTraits::Definitions* definitions, 00112 unsigned int component); 00116 virtual const unsigned int* componentFields(unsigned int component) const; 00117 00121 virtual const unsigned int componentFieldsEnd(unsigned int component) const; 00122 00123 private: 00124 00128 FileTraits_v0_6(FileTraits_v0_6& rhs); 00129 00133 FileTraits_v0_6& operator=(FileTraits_v0_6& rhs); 00134 }; 00135 00136 } 00137 00138 #endif // FILEREADOUTFORMAT_FILETRAITS_V0_6_H