CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/EventFilter/StorageManager/interface/EventConsumerSelector.h

Go to the documentation of this file.
00001 // $Id: EventConsumerSelector.h,v 1.9 2011/03/07 15:31:31 mommsen Exp $
00003 
00004 #ifndef EventFilter_StorageManager_EventConsumerSelector_h
00005 #define EventFilter_StorageManager_EventConsumerSelector_h
00006 
00007 #include <boost/shared_ptr.hpp>
00008 
00009 #include "EventFilter/StorageManager/interface/EventConsumerRegistrationInfo.h"
00010 #include "EventFilter/StorageManager/interface/I2OChain.h"
00011 #include "EventFilter/StorageManager/interface/TriggerSelector.h"
00012 #include "IOPool/Streamer/interface/InitMessage.h"
00013 
00014 namespace stor {
00015 
00025   class EventConsumerSelector
00026   {
00027 
00028   public:
00029 
00034     EventConsumerSelector( const EventConsRegPtr registrationInfo ):
00035       initialized_( false ),
00036       outputModuleId_( 0 ),
00037       registrationInfo_( registrationInfo ),
00038       acceptedEvents_( 0 )
00039     {}
00040 
00044     ~EventConsumerSelector() {}
00045 
00051     void initialize( const InitMsgView& );
00052 
00057     bool acceptEvent( const I2OChain& );
00058 
00062     QueueID const queueId() const { return registrationInfo_->queueId(); }
00063 
00067     bool isInitialized() const { return initialized_; }
00068 
00072     bool operator<(const EventConsumerSelector& other) const;
00073 
00074   private:
00075 
00076     bool initialized_;
00077     unsigned int outputModuleId_;
00078     const EventConsRegPtr registrationInfo_;
00079     TriggerSelectorPtr eventSelector_;
00080     unsigned long acceptedEvents_;
00081 
00082   };
00083 
00084 } // namespace stor
00085 
00086 #endif // EventFilter_StorageManager_EventConsumerSelector_h
00087 
00088