00001 00005 /**************************************** 00006 Class: DataDir 00007 Author: John R. Quirk 00008 00009 DataDir keeps track of all directories related to processing 00010 files for the ODBChecker. 00011 ****************************************/ 00012 00013 #ifndef DATADIR_H__ 00014 #define DATADIR_H__ 00015 00016 #include <string> 00017 00028 class DataDir { 00029 00030 private: 00031 00034 00035 std::string fRawExt, fODBExt, fHistExt, fCorrExt; 00037 00038 00039 00040 std::string fRawDir, fODBDir, fHistDir, fCorrDir; 00042 00043 00044 00045 00046 std::string fRawPre, fODBPre, fHistPre, fCorrPre; 00048 00049 public: 00050 DataDir(); 00051 00052 private: 00058 static std::string GetCanonicalRun(int run); 00059 00060 public: 00064 00065 void SetRawDir(const std::string& raw_dir); 00066 void SetRawDir(); 00067 void SetODBDir(const std::string& odb_dir); 00068 void SetODBDir(); 00069 void SetHistDir(const std::string& hist_dir); 00070 void SetHistDir(); 00071 void SetCorrDir(const std::string& corr_dir); 00072 void SetCorrDir(); 00074 00078 00079 std::string GetRawFileName(int run) const; 00080 std::string GetODBFileName(int run) const; 00081 std::string GetHistFileName(int run) const; 00082 std::string GetCorrFileName(int run) const; 00084 }; 00085 00086 #endif 00087