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

In This Package:

ReadoutTriggerDataPkg.cc

Go to the documentation of this file.
00001 #include "Event/ReadoutTriggerDataPkg.h"
00002 #include "Event/ReadoutTriggerDataFrame.h"
00003 #include <ostream>
00004 
00005 DayaBay::ReadoutTriggerDataPkg::~ReadoutTriggerDataPkg(){
00006     TriggerFrameCollection::iterator it=m_frames.begin();
00007     for ( ; it!=m_frames.end(); it++ ) {
00008         if (*it && (*it)->package()==this ) delete *it;
00009     }
00010     m_frames.clear();
00011 }
00012 
00013 std::ostream& DayaBay::ReadoutTriggerDataPkg::fillStream(std::ostream& s) const
00014 {
00015     s << "Begin ReadoutTriggerDataPkg\n" 
00016       << "\tDet: " << m_detector.detName() << "\n"
00017       << "\tReadout: " << m_readout << "\n"
00018       << "\tTrigger Number: " << m_trigNumber << "\n"
00019       << "\tNumber Sub Triggers: " << m_numSubTriggers << "\n"
00020       << "\tStatus: " << m_boardStatus << "\n"
00021       << "\tLocal SN: " << m_localSN << "\n"
00022       << "\tFrames"<< std::endl;
00023     TriggerFrameCollection::const_iterator it, done = m_frames.end();
00024     for (it=m_frames.begin(); it != done; ++it) {
00025       s << **it << std::endl;
00026     }
00027     s << "End ReadoutTriggerDataPkg" << std::endl;
00028     return s;
00029 }
00030 
00031 void DayaBay::ReadoutTriggerDataPkg::addFrame(DayaBay::ReadoutTriggerDataFrame* tdf)
00032 {
00033     tdf->setPackage(this);
00034     m_frames.push_back(tdf);
00035     m_numSubTriggers=m_frames.size();
00036 }
00037 
00038 DayaBay::ReadoutTriggerDataPkg::ReadoutTriggerDataPkg(const DayaBay::ReadoutTriggerDataPkg& rh)
00039 {
00041     m_readout=0;
00043     m_frames.clear();
00044     
00045     std::vector<DayaBay::ReadoutTriggerDataFrame*> frames = rh.frames();    
00046     std::vector<DayaBay::ReadoutTriggerDataFrame*>::iterator it, done=frames.end();
00047     
00048     for (it = frames.begin(); it != done; ++it) {
00049         DayaBay::ReadoutTriggerDataFrame *nf = new DayaBay::ReadoutTriggerDataFrame(**it);
00050         nf->setPackage(this);
00051         this->addFrame(nf);
00052     }
00053 
00054     m_detector=rh.detector();      
00055     m_trigNumber=rh.trigNumber();    
00058     m_boardStatus=rh.boardStatus();   
00059     m_localSN=rh.localSN();       
00060     
00061 }
00062   
00063 DayaBay::ReadoutTriggerDataPkg& DayaBay::ReadoutTriggerDataPkg::operator=(const DayaBay::ReadoutTriggerDataPkg& rh)
00064 {
00065     if (this == &rh) return *this;
00066     
00067     std::vector<DayaBay::ReadoutTriggerDataFrame*> frames = rh.frames();
00068     std::vector<DayaBay::ReadoutTriggerDataFrame*> newframes;
00069     
00070     std::vector<DayaBay::ReadoutTriggerDataFrame*>::iterator it, done=frames.end();
00071     
00072     for (it = frames.begin(); it != done; ++it) {
00073         DayaBay::ReadoutTriggerDataFrame *nf = new DayaBay::ReadoutTriggerDataFrame(**it);
00074         nf->setPackage(this);
00075         this->addFrame(nf);
00076     }
00077     //this->setFrames(newframes);
00078     //this->setFrames(newframes);
00081     m_readout=0;
00082     m_detector=rh.detector();      
00083     m_trigNumber=rh.trigNumber();    
00086     m_boardStatus=rh.boardStatus();   
00087     m_localSN=rh.localSN();
00088 
00089     return *this;
00090 }
00091 
00092 DayaBay::DaqLtb* DayaBay::ReadoutTriggerDataPkg::daqLtb() const {
00093     DaqLtb* result = new DaqLtb(m_trigNumber,
00094                                 // TODO: Fix this!
00095                                 0, //int rawTriggerTotal,
00096                                 m_boardStatus,
00097                                 m_detector);
00098     const TriggerFrameCollection::const_iterator finished = m_frames.end();
00099     for (TriggerFrameCollection::const_iterator frame = m_frames.begin();
00100          finished != frame;
00101          ++frame) {
00102         result->addFrame((*frame)->daqLtbFrame(m_detector));
00103     }
00104     return result;
00105 }
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:24:49 2011 for ReadoutEvent by doxygen 1.4.7