CMS 3D CMS Logo

VisQueueProcessor.h

Go to the documentation of this file.
00001 #ifndef VIS_FRAMEWORK_BASE_VIS_QUEUE_PROCESSOR_H
00002 # define VIS_FRAMEWORK_BASE_VIS_QUEUE_PROCESSOR_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "Iguana/Framework/interface/IgStateElement.h"
00007 # include "Iguana/Framework/interface/IgDispatcher.h"
00008 # include "FWCore/Framework/interface/Event.h"
00009 # include "FWCore/Framework/interface/EventSetup.h"
00010 
00011 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00012 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00013 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00014 
00015 namespace edm { class Event; class EventSetup; }
00016 
00017 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00018 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00019 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00020 
00022 struct VisEventMessage
00023 {
00024     const edm::Event      *event;
00025     const edm::EventSetup *eventSetup;
00026 };
00027 
00049 class VisQueueProcessor : public IgStateElement
00050 {
00051     IG_DECLARE_STATE_ELEMENT (VisQueueProcessor);
00052 public:
00053     typedef IgDispatcher<VisEventMessage&> VisEventDispatcher;
00054 
00055     VisQueueProcessor (IgState *state);
00056     ~VisQueueProcessor (void);
00057     // implicit copy constructor
00058     // implicit assignment operator
00059 
00060     // FIXME: Temporary hack code, clean this up later
00061     // This is just for conceptual model for now.
00062     VisEventDispatcher  eventDispatcher (void);
00063 
00064     virtual void        process (void);
00065 
00066     virtual void        scheduleAbort (void);
00067     virtual void        scheduleNextEvent (void);
00068 
00069 private:
00070     void                doAbort (void);
00071     void                doNextEvent (void);
00072 
00073     IgState             *m_state;
00074     bool                m_done;
00075     VisEventDispatcher  *m_dispatcher;
00076 };
00077 
00078 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00079 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00080 
00081 #endif // VIS_FRAMEWORK_BASE_VIS_QUEUE_PROCESSOR_H

Generated on Tue Jun 9 17:49:55 2009 for CMSSW by  doxygen 1.5.4