00001 // $Id: FRDFileHandler.h,v 1.13 2011/03/07 15:31:31 mommsen Exp $ 00003 00004 #ifndef EventFilter_StorageManager_FRDFileHandler_h 00005 #define EventFilter_StorageManager_FRDFileHandler_h 00006 00007 #include "EventFilter/StorageManager/interface/FileHandler.h" 00008 #include "IOPool/Streamer/interface/FRDEventFileWriter.h" 00009 00010 #include <stdint.h> 00011 #include <boost/scoped_ptr.hpp> 00012 00013 00014 namespace stor { 00015 00016 class I2OChain; 00017 00018 00028 class FRDFileHandler : public FileHandler 00029 { 00030 public: 00031 FRDFileHandler 00032 ( 00033 FilesMonitorCollection::FileRecordPtr, 00034 const DbFileHandlerPtr, 00035 const DiskWritingParams&, 00036 const uint64_t& maxFileSize 00037 ); 00038 00042 virtual void closeFile(const FilesMonitorCollection::FileRecord::ClosingReason&); 00043 00044 00045 private: 00046 00050 virtual void do_writeEvent(const I2OChain&); 00051 00052 boost::scoped_ptr<FRDEventFileWriter> writer_; // writes FED Raw Data file 00053 }; 00054 00055 } // stor namespace 00056 00057 #endif // EventFilter_StorageManager_FRDFileHandler_h 00058 00059