| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

FadcData.cc

Go to the documentation of this file.
00001 /*
00002  *  FadcData.cc
00003  *  FadcReadoutFormat
00004  *
00005  *  Created by Simon Patton on 9/2/10.
00006  *  Copyright 2010 DayaBay Collaboration. All rights reserved.
00007  *
00008  */
00009 #include "FadcReadoutFormat/FadcData.h"
00010 
00011 #include "DaqReadoutFormat/ByteBuffer.h"
00012 #include "FadcReadoutFormat/FadcTraits.h"
00013 
00014 using DybDaq::FadcData;
00015 
00016 FadcData::FadcData(const unsigned int channelId,
00017                    const unsigned int highDataByte,
00018                    const unsigned int middleDataByte,
00019                    const unsigned int lowDataByte,
00020                    const FadcTraits& traits) :
00021     FadcBuffer(new char[traits.dataSize() * kBytesInInt],
00022                traits) {
00023     traits.initializeData(buffer());
00024     setChannelId(channelId);
00025     setHighDataByte(highDataByte);
00026     setMiddleDataByte(middleDataByte);
00027     setLowDataByte(lowDataByte);
00028 }
00029 
00030 FadcData::FadcData(const ByteBuffer& byteBuffer,
00031                    const FadcTraits& traits) :
00032     FadcBuffer(byteBuffer,
00033                traits) {
00034     byteBuffer.position(byteBuffer.position() + (fadcTraits().dataSize() * kBytesInInt));
00035 }
00036 
00037 FadcData::~FadcData() {
00038 }
00039 
00040 unsigned int FadcData::formatComponent() const {
00041     return FadcTraits::kData;
00042 }
00043 
00044 unsigned int FadcData::channelId() const {
00045     return readUnsignedInt(FadcTraits::kChannelId);
00046 }
00047 
00048 unsigned char FadcData::highDataByte() const {
00049     return readUnsignedChar(FadcTraits::kHighDataByte);
00050 }
00051 
00052 unsigned char FadcData::middleDataByte() const {
00053     return readUnsignedChar(FadcTraits::kMiddleDataByte);
00054 }
00055 
00056 unsigned char FadcData::lowDataByte() const {
00057     return readUnsignedChar(FadcTraits::kLowDataByte);
00058 }
00059 
00060 unsigned int FadcData::bufferSize() const {
00061     return fadcTraits().dataSize();
00062 }
00063 
00064 void FadcData::setChannelId(const unsigned int channelId) {
00065     writeField(channelId,
00066                FadcTraits::kChannelId);
00067 }
00068 
00069 void FadcData::setHighDataByte(const unsigned int dataByte) {
00070     writeField(dataByte,
00071                FadcTraits::kHighDataByte);
00072 }
00073 
00074 void FadcData::setMiddleDataByte(const unsigned int dataByte) {
00075     writeField(dataByte,
00076                FadcTraits::kMiddleDataByte);
00077 }
00078 
00079 void FadcData::setLowDataByte(const unsigned int dataByte) {
00080     writeField(dataByte,
00081                FadcTraits::kLowDataByte);
00082 }
00083 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:07:56 2011 for FadcReadoutFormat by doxygen 1.4.7