/search.css" rel="stylesheet" type="text/css"/> /search.js">
| 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 bool rpcSortDisabled,
00055                      const bool dataSortTimeout,
00056                      const EventTraits& traits);    
00057         
00061         EventReadout(const unsigned int site,
00062                      const unsigned int detector,
00063                      const unsigned int run,
00064                      const unsigned int event,
00065                      const unsigned int dataType,
00066                      const bool rawCblt,
00067                      const bool triggerMismatch,
00068                      const bool invalidData,
00069                      const bool rpcSortDisabled,
00070                      const bool dataSortTimeout,
00071                      const CbltTraits& cbltTraits,
00072                      const EventTraits& traits);
00073         
00077         EventReadout(const ByteBuffer& byteBuffer);
00078         
00082         virtual ~EventReadout();
00083         
00087         virtual const DaqTraits& daqTraits() const;
00088         
00092         const EventHeader& header() const;
00093         
00097         const RomFragmentPtrList& romFragments() const;
00098         
00102         bool containsPmtFragments() const;
00103         
00107         bool containsRpcFragments() const;
00108         
00112         virtual unsigned int bufferSize() const;
00113         
00114         void addReadout(const FadcReadout* readout,
00115                         const unsigned int slot);
00116         
00117         void addReadout(const FeeReadout* readout,
00118                         const unsigned int slot);
00119         
00120         void addReadout(const LtbReadout* readout,
00121                         const unsigned int slot);
00122         
00123         void addReadout(const FecReadout* readout,
00124                         const unsigned int slot);
00125         
00126         void addReadout(const RtmReadout* readout,
00127                         const unsigned int slot);
00128         
00129         
00130     protected:
00131         
00135         virtual unsigned int gatherComponents(OutputBufferList& outputBuffers) const;
00136         
00140         virtual unsigned int inspectComponents(DaqBuffer::Bytes& inspectors) const;
00141         
00145         virtual void expanded(const unsigned int size);
00146         
00147     private:
00148         
00152         EventReadout();
00153         
00157         EventReadout& operator=(const EventReadout& rhs);
00158         
00159         void addReadout(const RomData* readout,
00160                         const unsigned int slot,
00161                         const unsigned int moduleType);
00162         
00166         const RomFragment& add(const RomFragment* fragment);
00167         
00171         mutable EventHeader* m_header;
00172         
00176         mutable std::vector<const RomFragment*>* m_fragments;
00177         
00181         const CbltTraits* m_cbltTraits;
00182         
00183     };
00184     
00185 }
00186 
00187 #endif // EVENTREADOUTFORMAT_EVENTREADOUT_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

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