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

In This Package:

DaqFadcChannel.cc

Go to the documentation of this file.
00001 /*
00002  *  DaqFadcChannel.cc
00003  *  DaqEvent
00004  *
00005  *  Created by Simon Patton on 9/2/2010.
00006  *  Copyright 2010 DayaBay Collaboration. All rights reserved.
00007  *
00008  */
00009 #include "Event/DaqFadcChannel.h"
00010 
00011 #include "FadcReadoutFormat/FadcData.h"
00012 #include "FadcReadoutFormat/FadcReadout.h"
00013 
00014 using DayaBay::DaqFadcChannel;
00015 using DybDaq::FadcData;
00016 using DybDaq::FadcReadout;
00017 
00018 DaqFadcChannel::DaqFadcChannel(const DayaBay::FadcChannelId& channelId,
00019                                FadcReadout& fadcReadout) :
00020     m_samples(0),
00021     m_fadcReadout(&fadcReadout),
00022     m_channelId(channelId) {
00023 }
00024 
00025 DaqFadcChannel::DaqFadcChannel(const FadcData& fadcData,
00026                                const DayaBay::FadcChannelId& channelId) :
00027     m_samples(0),
00028     m_fadcReadout(0),
00029     m_channelId(channelId) {
00030     addData(fadcData);
00031 }
00032 
00033 DaqFadcChannel::~DaqFadcChannel() {
00034     if (0 != m_samples) {
00035         delete m_samples;
00036     }
00037 }
00038 
00039 const DaqFadcChannel::FadcSamples& DaqFadcChannel::samples() const {
00040     if (0 == m_samples) {
00041         FadcSamples** samples = const_cast<FadcSamples**>(&m_samples);
00042         *(samples) = new FadcSamples();
00043     }
00044     return *m_samples;
00045 }
00046 
00047 void DaqFadcChannel::addData(const FadcData& fadcData) {
00048     samples();
00049     m_samples->push_back(fadcData.highDataByte());
00050     m_samples->push_back(fadcData.middleDataByte());
00051     m_samples->push_back(fadcData.lowDataByte());
00052 }
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:24:28 2011 for DaqEvent by doxygen 1.4.7