Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:20:33

0001 // -*- c++ -*-
0002 #ifndef __EVENTITERATOR_H__
0003 #define __EVENTITERATOR_H__
0004 
0005 #include "Event.h"
0006 
0007 
0008 /**
0009    The Eventiterator creates and returns pointers to Event objects.
0010    This is the virtual base class of a variety of different iterators.
0011 */
0012 #ifndef __CINT__
0013 class WINDOWSEXPORT Eventiterator {
0014 #else
0015 class  Eventiterator {
0016 #endif
0017 public:
0018   /// The virtual destructor.
0019   inline virtual ~Eventiterator(){};
0020 
0021   virtual const char * getIdTag() const =0;
0022 
0023   virtual void identify(std::ostream& os = std::cout) const = 0;
0024 
0025 
0026 /**
0027    this member function returns a pointer to the Event object, or
0028    NULL if there no events left.
0029 */   
0030   virtual Event *getNextEvent() = 0;
0031 
0032 
0033   /** the next member functions do nothing for most iterators
0034   except the etEventiterator. It's still easier to give the parent
0035   class the interfaces
0036   */
0037 
0038   virtual int *getNextEventData() {return 0;};
0039   virtual int releaseEventData() {return 0;};
0040 
0041   virtual void setBlockingMode(const int /*mode*/) {};
0042   virtual int getBlockingMode() const {return 0;};
0043 
0044   virtual void setSelectMode(const int /*mode*/) {};
0045   virtual int getSelectMode() const {return 0;};
0046 
0047   virtual void setSelectWords(const int , const int , const int , const int  ) {};
0048   virtual void getSelectWords(int []) const {};
0049 
0050   virtual const char * getCurrentFileName() const { return " "; };
0051 
0052   virtual int  setVerbosity(const int ) { return -1; }; // most iterators don't have the concept
0053   virtual int  getVerbosity() const { return -1; };
0054 
0055 
0056 };
0057 
0058 #endif /* __EVENTITERATOR_H__ */