| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DaqToFStream.h

Go to the documentation of this file.
00001 #ifndef FILEREADOUTFORMAT_DAQTOFSTREAM_H
00002 #define FILEREADOUTFORMAT_DAQTOFSTREAM_H
00003 
00004 /*
00005  *  DaqToFStream.h
00006  *  FileReadoutFormat
00007  *
00008  *  Created by Simon Patton on 7/18/10.
00009  *  Copyright 2010 DayaBay Collaboration. All rights reserved.
00010  *
00011  */
00012 #include <fstream>
00013 #include <string>
00014 
00015 #include "FileReadoutFormat/FileTraits.h"
00016 
00017 namespace DybDaq {
00018     class FileStartRecord;
00019 }
00020 
00021 #include "FileReadoutFormat/DaqToOStream.h"
00022 
00023 namespace DybDaq {
00024     
00025     class DaqToFStream : public DaqToOStream {
00026         
00027     public:
00028         
00032         DaqToFStream(const FileTraits& traits);
00033         
00037         DaqToFStream(const FileTraits& traits,
00038                       std::string& fileDir);
00039         
00043         virtual ~DaqToFStream();
00044         
00048         bool openFile(const std::string& fileName,
00049                       const FileStartRecord& record);
00050         
00054         const FileStartRecord* openFile(const std::string& fileName,
00055                                         const unsigned int fileNumber,
00056                                         const FileTraits::FileDateTime& dateTime,
00057                                         const unsigned int dataBlockLimit,
00058                                         const unsigned int megabyteLimit);
00059         
00060     protected:
00061         
00062         virtual std::ostream* openStream();
00063 
00064         virtual void prepareNext();
00065         
00066         virtual void closeStream(std::ostream& stream);
00067         
00068     private:
00069         
00073         DaqToFStream();
00074         
00078         DaqToFStream(DaqToFStream& rhs);
00079         
00083         DaqToFStream& operator=(DaqToFStream& rhs);
00084         
00088         void createNextFileName();
00089 
00093         const FileStartRecord* openFile(const std::string& fileName,
00094                                         const FileTraits::FileDateTime& dateTime);
00095         
00099         std::ofstream* m_ofstream;
00100         
00104         std::string* m_fileDir;
00105         
00109         std::string* m_fileName;
00110     };
00111     
00112 }
00113 
00114 #endif // FILEREADOUTFORMAT_DAQTOFSTREAM_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:08:33 2011 for FileReadoutFormat by doxygen 1.4.7