00001 // $Id: FRDFileHandler.h,v 1.14 2012/04/04 12:16:57 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 uint64_t& maxFileSize 00036 ); 00037 00041 virtual void closeFile(const FilesMonitorCollection::FileRecord::ClosingReason&); 00042 00043 00044 private: 00045 00049 virtual void do_writeEvent(const I2OChain&); 00050 00051 boost::scoped_ptr<FRDEventFileWriter> writer_; // writes FED Raw Data file 00052 }; 00053 00054 } // stor namespace 00055 00056 #endif // EventFilter_StorageManager_FRDFileHandler_h 00057 00058