CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/EventFilter/StorageManager/interface/EventStreamHandler.h

Go to the documentation of this file.
00001 // $Id: EventStreamHandler.h,v 1.7 2011/03/07 15:31:31 mommsen Exp $
00003 
00004 #ifndef EventFilter_StorageManager_EventStreamHandler_h
00005 #define EventFilter_StorageManager_EventStreamHandler_h
00006 
00007 #include <string>
00008 
00009 #include "IOPool/Streamer/interface/InitMessage.h"
00010 
00011 #include "EventFilter/StorageManager/interface/InitMsgCollection.h"
00012 #include "EventFilter/StorageManager/interface/StreamHandler.h"
00013 
00014 
00015 namespace stor {
00016 
00017   class Configuration;
00018   class EventStreamConfigurationInfo;
00019 
00020 
00029   class EventStreamHandler : public StreamHandler
00030   {
00031   public:
00032     
00033     EventStreamHandler
00034     (
00035       const EventStreamConfigurationInfo&,
00036       const SharedResourcesPtr,
00037       const DbFileHandlerPtr
00038     );
00039 
00040 
00041   private:
00042 
00046     virtual std::string streamLabel() const
00047     { return streamConfig_.streamLabel(); }
00048 
00052     virtual double fractionToDisk() const
00053     { return streamConfig_.fractionToDisk(); }
00054 
00058     virtual FileHandlerPtr newFileHandler(const I2OChain& event);
00059 
00063     virtual int getStreamMaxFileSize() const
00064     { return streamConfig_.maxFileSizeMB(); }
00065 
00066 
00067     EventStreamConfigurationInfo streamConfig_;
00068     InitMsgCollectionPtr initMsgCollection_;
00069     InitMsgSharedPtr initMsgView_;
00070 
00071   };
00072   
00073 } // namespace stor
00074 
00075 #endif // EventFilter_StorageManager_EventStreamHandler_h 
00076 
00077