00001 #ifndef SAMPLE_HANDLER__DISK_WRITER_H
00002 #define SAMPLE_HANDLER__DISK_WRITER_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include <SampleHandler/Global.h>
00016
00017 class TFile;
00018 #include <string>
00019
00020 namespace SH
00021 {
00031 class DiskWriter
00032 {
00033
00034
00035
00036
00041 public:
00042 void testInvariant () const;
00043
00044
00051 public:
00052 DiskWriter ();
00053
00054
00061 public:
00062 virtual ~DiskWriter ();
00063
00064
00073 public:
00074 std::string path () const;
00075
00076
00085 public:
00086 TFile *file ();
00087
00088
00096 public:
00097 void close ();
00098
00099
00100
00101
00102
00103
00104
00108 private:
00109 virtual std::string getPath () const = 0;
00110
00111
00115 private:
00116 virtual TFile *getFile () = 0;
00117
00118
00122 private:
00123 virtual void doClose () = 0;
00124 };
00125 }
00126
00127 #endif