/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 #ifndef FEEREADOUTFORMAT_FEEHIT_H 00002 #define FEEREADOUTFORMAT_FEEHIT_H 00003 00012 namespace DybDaq { 00013 class FeeReadout; 00014 } 00015 00016 #include "FeeReadoutFormat/FeeBuffer.h" 00017 00018 namespace DybDaq { 00019 00020 class FeeHit : public FeeBuffer { 00021 00022 public: 00023 00024 friend class FeeReadout; 00025 00029 virtual ~FeeHit(); 00030 00034 unsigned int channelId() const; 00035 00039 unsigned int adcChannelId() const; 00040 00044 unsigned int peakCycle() const; 00045 00049 bool isHighRangeAdc() const; 00050 00054 unsigned int preAdc() const; 00055 00059 unsigned int adc() const; 00060 00064 unsigned int tdcChannelId() const; 00065 00069 unsigned int hitNumber() const; 00070 00074 unsigned int tdc() const; 00075 00079 virtual unsigned int bufferSize() const; 00080 00081 protected: 00082 00086 virtual unsigned int formatComponent() const; 00087 00088 private: 00089 00090 /* 00091 * Create an instance of this class. 00092 */ 00093 FeeHit(const unsigned int channel, 00094 const unsigned int peakCycle, 00095 const bool highRangeAdc, 00096 const unsigned int pedestal, 00097 const unsigned int charge, 00098 const unsigned int hitNumber, 00099 const unsigned int time, 00100 const FeeTraits& traits); 00101 00105 FeeHit(const ByteBuffer& byteBuffer, 00106 const FeeTraits& traits); 00107 00111 FeeHit(); 00112 00116 FeeHit(FeeHit& rhs); 00117 00121 FeeHit& operator=(FeeHit& rhs); 00122 00126 void setChannelId(const unsigned int channelId); 00127 00131 void setPeakCycle(const unsigned int peakCycle); 00132 00136 void setHighRangeAdc(const bool highRangeAdc); 00137 00141 void setPreAdc(const unsigned int value); 00142 00146 void setAdc(const unsigned int value); 00147 00151 void setHitNumber(const unsigned int hitNumber); 00152 00156 void setTdc(const unsigned int value); 00157 00158 }; 00159 00160 }; 00161 00162 #endif // FEEREADOUTFORMAT_FEEHIT_H