/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

RomHeader.cc
Go to the documentation of this file.
00001 /*
00002  *  RomHeader.cc
00003  *  RawFileReading
00004  *
00005  *  Created by Simon Patton on 7/20/10.
00006  *  Copyright 2010 DayaBay Collaboration. All rights reserved.
00007  *
00008  */
00009 #include "EventReadoutFormat/RomHeader.h"
00010 
00011 #include "DaqReadoutFormat/ByteBuffer.h"
00012 #include "EventReadoutFormat/EventTraits.h"
00013 
00014 using DybDaq::ByteBuffer;
00015 using DybDaq::EventBuffer;
00016 using DybDaq::EventTraits;
00017 using DybDaq::RomHeader;
00018 
00019 RomHeader::RomHeader(const unsigned int ,// site,
00020                      const unsigned int ,// detector,
00021                      const unsigned int moduleType,
00022                      const unsigned int slot,
00023                      const EventTraits& traits) :
00024 EventBuffer(new char[traits.headerSize(EventTraits::kRomHeader) * kBytesInInt],
00025             traits) {
00026     traits.initializeHeader(EventTraits::kRomHeader,
00027                             buffer());
00028     setHeaderSize(traits.headerSize(EventTraits::kRomHeader)),
00029     setTotalSize(headerSize());
00030     // TODO: Fix, for the dry run site & detector not set!
00031     setSite(0);
00032     setDetector(0);
00033 
00034     setModuleType(moduleType);
00035     setSlot(slot);
00036 }                         
00037 
00038 RomHeader::RomHeader(const ByteBuffer& byteBuffer,
00039                      const EventTraits& traits) :
00040 EventBuffer(byteBuffer,
00041                         traits) {
00042         byteBuffer.position(byteBuffer.position() + (headerSize() * kBytesInInt));
00043 }
00044 
00045 RomHeader::~RomHeader() {
00046 }
00047 
00048 unsigned int RomHeader::formatComponent() const {
00049     return EventTraits::kRomHeader;
00050 }
00051 
00052 unsigned int RomHeader::headerSize() const {
00053         return readUnsignedInt(EventTraits::kRomHeaderSize);
00054 }
00055 
00056 unsigned int RomHeader::totalSize() const {
00057         return readUnsignedInt(EventTraits::kRomTotalSize);
00058 }
00059 
00060 unsigned int RomHeader::site() const {
00061         return readUnsignedInt(EventTraits::kRomSite);
00062 }
00063 
00064 unsigned int RomHeader::detector() const {
00065         return readUnsignedInt(EventTraits::kRomDetector);
00066 }
00067 
00068 unsigned int RomHeader::moduleType() const {
00069         return readUnsignedInt(EventTraits::kRomModuleType);
00070 }
00071 
00072 unsigned int RomHeader::slot() const {
00073         return readUnsignedInt(EventTraits::kRomSlot);
00074 }
00075 
00076 unsigned int RomHeader::bufferSize() const {
00077     return headerSize();
00078 }
00079 
00080 void RomHeader::setHeaderSize(const unsigned int headerLength) {
00081     writeField(headerLength,
00082                EventTraits::kRomHeaderSize);
00083 }
00084 
00085 void RomHeader::setTotalSize(const unsigned int totalLength) {
00086     writeField(totalLength,
00087                EventTraits::kRomTotalSize);
00088 }
00089 
00090 void RomHeader::setSite(const unsigned int site) {
00091     writeField(site,
00092                EventTraits::kRomSite);
00093 }
00094 
00095 void RomHeader::setDetector(const unsigned int detector) {
00096     writeField(detector,
00097                EventTraits::kRomDetector);
00098 }
00099 
00100 void RomHeader::setModuleType(const unsigned int moduleType) {
00101     writeField(moduleType,
00102                EventTraits::kRomModuleType);
00103 }
00104 
00105 void RomHeader::setSlot(const unsigned int slot) {
00106     writeField(slot,
00107                EventTraits::kRomSlot);
00108 }
00109 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 09:53:16 for EventReadoutFormat by doxygen 1.7.4