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

In This Package:

FadcFoot.cc

Go to the documentation of this file.
00001 /*
00002  *  FadcFoot.cc
00003  *  FadcReadoutFormat
00004  *
00005  *  Created by Simon Patton on 9/2/10.
00006  *  Copyright 2010 DayaBay Collaboration. All rights reserved.
00007  *
00008  */
00009 
00010 #include "FadcReadoutFormat/FadcFoot.h"
00011 
00012 #include "DaqReadoutFormat/ByteBuffer.h"
00013 #include "FadcReadoutFormat/FadcHead.h"
00014 #include "FadcReadoutFormat/FadcTraits.h"
00015 
00016 using DybDaq::FadcFoot;
00017 using DybDaq::FadcHead;
00018 using DybDaq::FadcTraits;
00019 
00020 FadcFoot::FadcFoot(const FadcHead& head) :
00021 FadcBuffer(new char[head.fadcTraits().footSize() * kBytesInInt],
00022           head.fadcTraits()) {
00023     const FadcTraits& traits = fadcTraits();
00024     traits.initializeFoot(buffer());
00025     setTriggerNumber(head.triggerNumber());
00026     setDataLength((traits.headSize() + traits.footSize()) * kBytesInInt);
00027 }
00028 
00029 FadcFoot::FadcFoot(const ByteBuffer& byteBuffer,
00030                  const FadcTraits& traits) :
00031 FadcBuffer(byteBuffer,
00032           traits) {
00033         byteBuffer.position(byteBuffer.position() + kBytesInInt);
00034 }
00035 
00036 FadcFoot::~FadcFoot() {
00037 }
00038 
00039 unsigned int FadcFoot::formatComponent() const {
00040     return FadcTraits::kFoot;
00041 }
00042 
00043 unsigned int FadcFoot::triggerNumber() const {
00044         return readUnsignedInt(FadcTraits::kFootTriggerNumber);
00045 }
00046 
00047 unsigned int FadcFoot::dataLength() const {
00048         return readUnsignedInt(FadcTraits::kFootDataLength);
00049 }
00050 
00051 unsigned int FadcFoot::bufferSize() const {
00052     return fadcTraits().footSize();
00053 }
00054 
00055 void FadcFoot::setTriggerNumber(const unsigned int triggerNumber) {
00056     writeField(triggerNumber,
00057                FadcTraits::kFootTriggerNumber);
00058 }
00059 
00060 void FadcFoot::setDataLength(const unsigned int dataLength) {
00061     writeField(dataLength,
00062                FadcTraits::kFootDataLength);
00063 }
| 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