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

In This Package:

A full ef classlist @htmlinclude used_packages.html @verbinclude requirements DaqFormatWriter.h

Go to the documentation of this file.
00001 #ifndef DAQFORMATMODULES_DAQFORMATWRITER_H
00002 #define DAQFORMATMODULES_DAQFORMATWRITER_H
00003 
00004 /*
00005  *  DaqFormat.h
00006  *  DaqFormatModules
00007  *
00008  *  Created by Simon Patton on 8/5/10.
00009  *  Copyright 2010 DayaBay Collaboration. All rights reserved.
00010  *
00011  */
00012 
00013 #include <string>
00014 
00015 #include "DybAlg/DybAlgorithm.h"
00016 #include "Event/ReadoutHeader.h"
00017 
00018 class IDaqReadoutSvc;
00019 
00020 namespace DybDaq {
00021     class DaqToOStream;
00022     class FileTraits;
00023     class DaqToOStream;
00024 }
00025 
00026 namespace DybDaq {
00027 
00028     class DaqFormatWriter : public DybAlgorithm<DayaBay::ReadoutHeader>
00029     {
00030     
00031     public:
00032         
00033         DaqFormatWriter(const std::string& name,
00034                         ISvcLocator* pSvcLocator);
00035         virtual ~DaqFormatWriter();
00036         
00037         virtual StatusCode initialize();
00038         
00039         virtual StatusCode execute();
00040         
00041         virtual StatusCode finalize();
00042 
00043     protected:
00044         
00048         virtual DaqToOStream* createDaqToOStream(const FileTraits& traits) = 0;
00049 
00053         virtual StatusCode writeFileHead(const DayaBay::DaqCrate* daqCrate);
00054 
00058         virtual StatusCode writeData(const DayaBay::DaqCrate* daqCrate);
00059 
00063         virtual StatusCode writeFileFoot();
00064 
00068         virtual void wroteFileHead() = 0;
00069 
00073         virtual void wroteData() = 0;
00074 
00078         virtual void wroteFileFoot() = 0;
00079 
00080     private:
00081 
00085         const DybDaq::FileTraits* m_traits;
00086 
00090         IDaqReadoutSvc* m_daqSvc;
00091 
00095         DybDaq::DaqToOStream* m_daqToOStream;
00096 
00100         std::string m_outputBase;
00101         
00105         unsigned long m_fileByteCount;
00106 
00110         unsigned long m_fileByteLimit;
00111 
00115         unsigned int m_fileBlockCount;
00116         
00120         unsigned int m_fileBlockLimit;
00121         
00122     };
00123 
00124 }
00125 
00126 #endif  // DAQFORMATMODULES_DAQFORMATWRITER_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:46:28 2011 for DaqFormatModules by doxygen 1.4.7