PSXtcInput/include/DgramSourceIndex.h

Go to the documentation of this file.
00001 #ifndef PSXTCINPUT_DGRAMSOURCEINDEX_H
00002 #define PSXTCINPUT_DGRAMSOURCEINDEX_H
00003 
00004 //--------------------------------------------------------------------------
00005 // File and Version Information:
00006 //      $Id: DgramSourceIndex.h 7696 2014-02-27 00:40:59Z cpo@SLAC.STANFORD.EDU $
00007 //
00008 // Description:
00009 //      Class DgramSourceIndex.
00010 //
00011 //------------------------------------------------------------------------
00012 
00013 //-----------------
00014 // C/C++ Headers --
00015 //-----------------
00016 #include <vector>
00017 #include <queue>
00018 
00019 //----------------------
00020 // Base Class Headers --
00021 //----------------------
00022 #include "PSXtcInput/IDatagramSource.h"
00023 #include "PSXtcInput/DgramPieces.h"
00024 
00025 //-------------------------------
00026 // Collaborating Class Headers --
00027 //-------------------------------
00028 
00029 //------------------------------------
00030 // Collaborating Class Declarations --
00031 //------------------------------------
00032 
00033 //              ---------------------
00034 //              -- Class Interface --
00035 //              ---------------------
00036 
00037 namespace PSXtcInput {
00038 
00039 /// @addtogroup PSXtcInput
00040 
00041 /**
00042  *  @ingroup PSXtcInput
00043  *
00044  *  @brief Implementation of IDatagramSource interface which reads data from input files.
00045  *
00046  *  @note This software was developed for the LCLS project.  If you use all or 
00047  *  part of it, please give an appropriate acknowledgment.
00048  *
00049  *  @version $Id: DgramSourceIndex.h 7696 2014-02-27 00:40:59Z cpo@SLAC.STANFORD.EDU $
00050  *
00051  *  @author Christopher O'Grady
00052  */
00053 
00054 class DgramSourceIndex : public IDatagramSource {
00055 public:
00056 
00057   DgramSourceIndex();
00058   virtual ~DgramSourceIndex();
00059   virtual void init();
00060   void setQueue(std::queue<DgramPieces>& queue) {_queue = &queue;}
00061   virtual bool next(std::vector<XtcInput::Dgram>& eventDg, std::vector<XtcInput::Dgram>& nonEventDg);
00062 
00063 private:
00064   std::queue<DgramPieces>* _queue;
00065 };
00066 
00067 } // namespace PSXtcInput
00068 
00069 #endif // PSXTCINPUT_DGRAMSOURCEINDEX_H

Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7