psana/include/Index.h

Go to the documentation of this file.
00001 #ifndef PSANA_INDEX_H
00002 #define PSANA_INDEX_H
00003 
00004 #include <boost/cstdint.hpp>
00005 #include <vector>
00006 
00007 #include "EventTime.h"
00008 
00009 namespace psana {
00010 
00011 /// @addtogroup psana
00012 
00013 /**
00014  *  @ingroup psana
00015  *
00016  *  @brief Interface to allow XTC file random access.
00017  *
00018  *  @version $Id: Index.h 7696 2014-02-27 00:40:59Z cpo@SLAC.STANFORD.EDU $
00019  *
00020  *  @author Christopher O'Grady
00021  */
00022 
00023 class Index {
00024 public:
00025   typedef std::vector<EventTime>::const_iterator EventTimeIter;
00026   Index() {}
00027   virtual ~Index() {}
00028   virtual int      jump(EventTime t)                            = 0;
00029   virtual void     setrun(int run)                              = 0;
00030   virtual void     end()                                        = 0;
00031   virtual unsigned nsteps()                                     = 0;
00032   virtual void     times(EventTimeIter& begin, EventTimeIter& end) = 0;
00033   virtual void     times(unsigned step, EventTimeIter& begin, EventTimeIter& end) = 0;
00034   virtual const    std::vector<unsigned>& runs()                = 0;
00035 };
00036 
00037 }
00038 #endif // PSANA_INDEX_H

Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7