/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 #ifndef FEEREADOUTFORMAT_FEETRAITS_H 00002 #define FEEREADOUTFORMAT_FEETRAITS_H 00003 00004 /* 00005 * FeeTraits.h 00006 * FeeReadoutFormat 00007 * 00008 * Created by Simon Patton on 7/21/10. 00009 * Copyright 2010 DayaBay Collaboration. All rights reserved. 00010 * 00011 */ 00012 00013 #include "DaqReadoutFormat/DaqTraits.h" 00014 00015 namespace DybDaq { 00016 00017 class FeeTraits : public DaqTraits { 00018 00019 public: 00020 00024 static const unsigned int kHead; 00025 00029 static const unsigned int kHit; 00030 00034 static const unsigned int kFoot; 00035 00039 static const unsigned int kHeadTriggerNumber; 00040 00044 static const unsigned int kTriggerType; 00045 00049 static const unsigned int kChecked; 00050 00054 static const unsigned int kError; 00055 00056 // For FitHit 00057 00061 static const unsigned int kChargeChannelId; 00062 00066 static const unsigned int kPeakCycle; 00067 00071 static const unsigned int kHighRangeAdc; 00072 00076 static const unsigned int kAdc; 00077 00081 static const unsigned int kTimeChannelId; 00082 00086 static const unsigned int kHitNumber; 00087 00091 static const unsigned int kTdc; 00092 00093 // For FtbFoot 00094 00098 static const unsigned int kFootTriggerNumber; 00099 00103 static const unsigned int kFootDataLength; 00104 00105 // Added v0.1 00106 00110 static const unsigned int kMajorVersion; 00111 00115 static const unsigned int kMinorVersion; 00116 00120 static const unsigned int kPreAdc; 00121 00122 // Added v0.1 (as improvement) 00123 00127 static const unsigned int kHeadMarker; 00128 00132 static const unsigned int kAdcDataMarker; 00133 00137 static const unsigned int kTdcDataMarker; 00138 00142 static const unsigned int kFootMarker; 00143 00147 static const FeeTraits& defaultTraits(); 00148 00152 static const FeeTraits* readTraits(const char*& buffer); 00153 00157 virtual ~FeeTraits(); 00158 00162 virtual unsigned int illegalMarker() const; 00163 00167 virtual unsigned int illegalField() const; 00168 00172 virtual unsigned int triggerTypeEnd() const = 0; 00173 00177 virtual const char* triggerTypeAsString(unsigned int triggerType) const; 00178 00182 virtual unsigned int headSize() const = 0; 00183 00187 virtual unsigned int hitSize() const = 0; 00188 00192 virtual unsigned int footSize() const = 0; 00193 00197 virtual void initializeHead(char* buffer) const = 0; 00198 00202 virtual void initializeHit(char* buffer) const = 0; 00203 00207 virtual void initializeFoot(char* buffer) const = 0; 00208 00209 protected: 00210 00214 FeeTraits(); 00215 00219 virtual const char** triggerTypeStrings() const = 0; 00220 00221 private: 00222 00226 FeeTraits(FeeTraits& rhs); 00227 00231 FeeTraits& operator=(FeeTraits& rhs); 00232 00233 }; 00234 00235 } 00236 00237 #endif // FEEREADOUTFORMAT_FEETRAITS_H