00001 #ifndef FADCREADOUTFORMAT_FADCTRAITS_V1_5_H 00002 #define FADCREADOUTFORMAT_FADCTRAITS_V1_5_H 00003 00004 /* 00005 * FadcTraits_v1_5.h 00006 * FadcReadoutFormat 00007 * 00008 * Created by Simon Patton on 9/2/10. 00009 * Copyright 2010 DayaBay Collaboration. All rights reserved. 00010 * 00011 */ 00012 00013 #include "FadcReadoutFormat/FadcTraits.h" 00014 00015 namespace DybDaq { 00016 00017 class FadcTraits_v1_5 : public FadcTraits { 00018 00019 public: 00020 00024 static const char* key(); 00025 00029 FadcTraits_v1_5(); 00030 00034 virtual ~FadcTraits_v1_5(); 00035 00036 /* 00037 * Returns the major version of the event format as an unsigned int. 00038 */ 00039 virtual unsigned int majorVersion() const; 00040 00041 /* 00042 * Returns the major version of the event format as an unsigned int. 00043 */ 00044 virtual unsigned int minorVersion() const; 00045 00049 virtual const std::string versionString() const; 00050 00054 virtual unsigned int headSize() const; 00055 00059 virtual unsigned int dataSize() const; 00060 00064 virtual unsigned int footSize() const; 00065 00069 virtual void initializeHead(char* buffer) const; 00070 00074 virtual void initializeData(char* buffer) const; 00075 00079 virtual void initializeFoot(char* buffer) const; 00080 00081 protected: 00082 00086 virtual unsigned int markersEnd() const; 00087 00091 virtual const unsigned int* markers() const; 00092 00096 virtual unsigned int fieldsEnd() const; 00097 00101 virtual const unsigned int* indices() const; 00102 00106 virtual const unsigned int* shifts() const; 00107 00111 virtual const unsigned int* masks() const; 00112 00116 virtual const std::string* descriptions() const; 00117 00121 virtual DaqTraits::Definitions* definitions(unsigned int component) const; 00122 00126 virtual void setDefinitions(DaqTraits::Definitions* definitions, 00127 unsigned int component); 00131 virtual const unsigned int* componentFields(unsigned int component) const; 00132 00136 virtual const unsigned int componentFieldsEnd(unsigned int component) const; 00137 00141 virtual unsigned int triggerTypeEnd() const; 00142 00146 virtual const char** triggerTypeStrings() const; 00147 00148 private: 00149 00153 FadcTraits_v1_5(FadcTraits_v1_5& rhs); 00154 00158 FadcTraits_v1_5& operator=(FadcTraits_v1_5& rhs); 00159 00160 }; 00161 00162 } 00163 00164 #endif // FADCREADOUTFORMAT_FADCTRAITS_V1_5_H