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

In This Package:

FadcReadout.h

Go to the documentation of this file.
00001 #ifndef FADCREADOUTFORMAT_FADCREADOUT_H
00002 #define FADCREADOUTFORMAT_FADCREADOUT_H
00003 
00004 /*
00005  *  FadcReadout.h
00006  *  FadcReadoutFormat
00007  *
00008  *  Created by Simon Patton on 9/2/10.
00009  *  Copyright 2010 DayaBay Collaboration. All rights reserved.
00010  *
00011  */
00012 #include <vector>
00013 
00014 #include "DaqReadoutFormat/RomData.h"
00015 #include "FadcReadoutFormat/FadcBuffer.h"
00016 
00017 namespace DybDaq {
00018     class FadcFoot;
00019     class FadcHead;
00020     class FadcData;
00021 }
00022 
00023 #include "DaqReadoutFormat/DaqContainer.h"
00024 
00025 namespace DybDaq {
00026     
00027     class FadcReadout : public DaqContainer, public RomData {
00028         
00029     public:
00030         
00031         typedef std::vector<const FadcData*> FadcDataPtrList;
00032         
00033         FadcReadout(const unsigned int triggerNumber,
00034                     const unsigned int triggerType,
00035                     const bool noData,
00036                     const FadcTraits& traits);
00037         
00041         FadcReadout(const ByteBuffer& byteBuffer,
00042                     const unsigned int length);
00043         
00047         virtual ~FadcReadout();
00048         
00052         virtual const DaqTraits& daqTraits() const;
00053         
00054         /*
00055          * Returns the FadcHead for this readout.
00056          */
00057         const FadcHead& head() const;
00058         
00059         /*
00060          * Returns the list of FadcDataPtrList for this readout.
00061          */
00062         const FadcDataPtrList& fadcData() const;
00063         
00064         /*
00065          * Returns the FadcFoot for this readout.
00066          */
00067         const FadcFoot& foot() const;
00068         
00072         virtual unsigned int romSize() const;
00073         
00078         virtual unsigned int gatherRom(DaqBuffer::OutputBufferList& outputBuffers) const;
00079         
00084         virtual unsigned int inspectRom(DaqBuffer::Bytes& inspectors) const;
00085         
00089         virtual unsigned int bufferSize() const;
00090         
00094         const FadcData& addData(const unsigned int channel,
00095                                 const unsigned int highDataByte,
00096                                 const unsigned int middleDataByte,
00097                                 const unsigned int lowDataByte);
00098         
00099     protected:
00100         
00104         virtual unsigned int gatherComponents(OutputBufferList& outputBuffers) const;
00105         
00109         virtual unsigned int inspectComponents(DaqBuffer::Bytes& inspectors) const;
00110         
00114         virtual void expanded(const unsigned int size);
00115         
00120         virtual bool setRomExpandable(DaqExpandable& expandable);
00121         
00122     private:
00123         
00127         FadcReadout();
00128         
00132         FadcReadout(FadcReadout& rhs);
00133         
00137         FadcReadout& operator=(FadcReadout& rhs);
00138         
00142         const FadcData& add(const FadcData* data);
00143         
00144         /*
00145          * Returns the FadcFoot for this readout.
00146          */
00147         FadcFoot& foot();
00148         
00152         mutable FadcHead* m_head;
00153         
00157         mutable FadcDataPtrList* m_data;
00158         
00162         mutable FadcFoot* m_foot;       
00163     };
00164     
00165 }
00166 
00167 #endif // FADCREADOUTFORMAT_FADCREADOUT_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:07:56 2011 for FadcReadoutFormat by doxygen 1.4.7