00001 #ifndef FILEREADOUTFORMAT_FILETRAITS_v0_9_H 00002 #define FILEREADOUTFORMAT_FILETRAITS_v0_9_H 00003 00004 /* 00005 * FileTraits_v0_9.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_9 : public FileTraits { 00018 00019 public: 00020 00024 static const char* key(); 00025 00029 FileTraits_v0_9(); 00030 00034 virtual ~FileTraits_v0_9(); 00035 00039 virtual unsigned int majorVersion() const; 00040 00044 virtual unsigned int minorVersion() const; 00045 00049 virtual const std::string versionString() const; 00050 00051 DaqTraits::Definitions& bitsDefinitions(unsigned int element) const; 00052 00053 protected: 00054 00058 virtual const unsigned int* recordSizes() const; 00059 00063 virtual unsigned int detectorListEnd() const; 00064 00068 virtual const char** detectorStrings() const; 00069 00073 virtual unsigned int markersEnd() const; 00074 00078 virtual const unsigned int* markers() const; 00079 00083 virtual unsigned int fieldsEnd() const; 00084 00088 virtual const unsigned int* indices() const; 00089 00093 virtual const unsigned int* shifts() const; 00094 00098 virtual const unsigned int* masks() const; 00099 00103 virtual const std::string* descriptions() const; 00104 00108 virtual DaqTraits::Definitions* definitions(unsigned int component) const; 00109 00113 virtual void setDefinitions(DaqTraits::Definitions* definitions, 00114 unsigned int component); 00118 virtual const unsigned int* componentFields(unsigned int component) const; 00119 00123 virtual const unsigned int componentFieldsEnd(unsigned int component) const; 00124 00125 private: 00126 00130 FileTraits_v0_9(FileTraits_v0_9& rhs); 00131 00135 FileTraits_v0_9& operator=(FileTraits_v0_9& rhs); 00136 }; 00137 00138 } 00139 00140 #endif // FILEREADOUTFORMAT_FILETRAITS_v0_9_H