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

In This Package:

EventReadout.h

Go to the documentation of this file.
00001 #ifndef EVENTREADOUTFORMAT_EVENTREADOUT_H
00002 #define EVENTREADOUTFORMAT_EVENTREADOUT_H
00003 
00004 /*
00005  *  EventReadout.h
00006  *  EventReadoutFormat
00007  *
00008  *  Created by Simon Patton on 7/19/10.
00009  *  Copyright 2010 DayaBay Collaboration. All rights reserved.
00010  *
00011  */
00012 #include <vector>
00013 
00014 #include "EventReadoutFormat/EventBuffer.h"
00015 
00016 namespace DybDaq {
00017     class CbltTraits;
00018     class EventHeader;
00019     class FadcReadout;
00020     class FeeReadout;
00021     class LtbReadout;
00022     class FecReadout;
00023     class RtmReadout;
00024     class RomData;
00025     class RomFragment;
00026 }
00027 
00028 #include "DaqReadoutFormat/DaqContainer.h"
00029 
00030 namespace DybDaq {
00031     
00032     class EventReadout : public DaqContainer {
00033         
00034     public:
00035         
00036         typedef std::vector<const RomFragment*> RomFragmentPtrList;
00037         
00041         EventReadout(const EventReadout& rhs);
00042         
00046         EventReadout(const unsigned int site,
00047                      const unsigned int detector,
00048                      const unsigned int run,
00049                      const unsigned int event,
00050                      const unsigned int dataType,
00051                      const bool rawCblt,
00052                      const bool triggerMismatch,
00053                      const bool invalidData,
00054                      const EventTraits& traits);    
00055         
00059         EventReadout(const unsigned int site,
00060                      const unsigned int detector,
00061                      const unsigned int run,
00062                      const unsigned int event,
00063                      const unsigned int dataType,
00064                      const bool rawCblt,
00065                      const bool triggerMismatch,
00066                      const bool invalidData,
00067                      const CbltTraits& cbltTraits,
00068                      const EventTraits& traits);
00069         
00073         EventReadout(const ByteBuffer& byteBuffer);
00074         
00078         virtual ~EventReadout();
00079         
00083         virtual const DaqTraits& daqTraits() const;
00084         
00088         const EventHeader& header() const;
00089         
00093         const RomFragmentPtrList& romFragments() const;
00094         
00098         virtual unsigned int bufferSize() const;
00099         
00100         void addReadout(const FadcReadout* readout,
00101                         const unsigned int slot);
00102         
00103         void addReadout(const FeeReadout* readout,
00104                         const unsigned int slot);
00105         
00106         void addReadout(const LtbReadout* readout,
00107                         const unsigned int slot);
00108         
00109         void addReadout(const FecReadout* readout,
00110                         const unsigned int slot);
00111         
00112         void addReadout(const RtmReadout* readout,
00113                         const unsigned int slot);
00114         
00115         
00116     protected:
00117         
00121         virtual unsigned int gatherComponents(OutputBufferList& outputBuffers) const;
00122         
00126         virtual unsigned int inspectComponents(DaqBuffer::Bytes& inspectors) const;
00127         
00131         virtual void expanded(const unsigned int size);
00132         
00133     private:
00134         
00138         EventReadout();
00139         
00143         EventReadout& operator=(const EventReadout& rhs);
00144         
00145         void addReadout(const RomData* readout,
00146                         const unsigned int slot,
00147                         const unsigned int moduleType);
00148         
00152         const RomFragment& add(const RomFragment* fragment);
00153         
00157         mutable EventHeader* m_header;
00158         
00162         mutable std::vector<const RomFragment*>* m_fragments;
00163         
00167         const CbltTraits* m_cbltTraits;
00168         
00169     };
00170     
00171 }
00172 
00173 #endif // EVENTREADOUTFORMAT_EVENTREADOUT_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:08:24 2011 for EventReadoutFormat by doxygen 1.4.7