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

In This Package:

PerReadoutHeader.cc

Go to the documentation of this file.
00001 #include "PerReadoutEvent/PerReadoutHeader.h"
00002 
00003 #include "PerReadoutEvent/PerReadout.h"
00004 
00005 #include "DaqReadoutFormat/ByteBuffer.h"
00006 #include "EventReadoutFormat/EventReadout.h"
00007 #include "Event/DaqPmtCrate.h"
00008 
00009 using DayaBay::DaqPmtCrate;
00010 using DybDaq::ByteBuffer;
00011 using DybDaq::EventReadout;
00012 
00013 PerReadoutHeader::PerReadoutHeader():PerHeaderObject(),
00014                                      readout(0)
00015 {  
00016 }
00017 
00018 PerReadoutHeader::~PerReadoutHeader()
00019 {
00020     if (readout) {
00021         delete readout; readout = 0;
00022     }
00023 }
00024 
00025 PerDaqPmtCrate PerReadoutHeader::daqPmtCrate(bool deepCopy) const {
00026     std::vector<unsigned int>& rawData = readout->rawEvent;
00027     unsigned int capacity = rawData.size() * ByteBuffer::BYTES_IN_INT;
00028     char* buffer;
00029     if (deepCopy) {
00030         buffer = new char[capacity];
00031         memcpy(buffer,
00032                &(rawData[0]),
00033                capacity);
00034     } else {
00035         buffer = (char*)(&(rawData[0]));
00036     }
00037     ByteBuffer* byteBuffer = new ByteBuffer(buffer,
00038                                             capacity);
00039     EventReadout* eventReadout =  new EventReadout(*byteBuffer);
00040     byteBuffer->release();
00041     return PerDaqPmtCrate(eventReadout);
00042 }
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:30:32 2011 for PerReadoutEvent by doxygen 1.4.7