00001 #ifndef JOBOPTIONS_MGR_H 00002 #define JOBOPTIONS_MGR_H 00003 00004 #include <string> 00005 #include <vector> 00006 00007 class Property; 00008 class JobOptionsSvc; 00009 00010 00011 class JobOptionsMgr 00012 { 00013 public : 00014 00015 JobOptionsMgr(const std::string& optname); 00016 virtual ~JobOptionsMgr(); 00017 00018 const std::string& optName() { return m_optName; } 00019 00020 int inputType() { return m_iFileType; } 00021 int evtMax() { return m_evtMax; } 00022 const std::vector<std::string>& inputFiles() { return m_inputFiles; } 00023 00024 const std::vector<int>& outputTypes() { return m_oFileTypes; } 00025 const std::string& dstFile() { return m_dstFile; } 00026 const std::string& recFile() { return m_recFile; } 00027 const std::vector<std::string>& tupleOpts() { return m_tupleOpts; } 00028 const std::vector<std::string>& histOpts() { return m_histOpts; } 00029 00030 void clientOptsTemplate(const std::string& svrName); 00031 00032 00033 private : 00034 00035 const Property* getProperty(const std::string& client, const std::string& name); 00036 00037 JobOptionsMgr(); 00038 00039 00040 private : 00041 00042 std::string m_optName; 00043 00044 int m_iFileType; 00045 int m_evtMax; 00046 std::vector<std::string> m_inputFiles; 00047 00048 std::vector<int> m_oFileTypes; 00049 std::string m_dstFile; 00050 std::string m_recFile; 00051 std::vector<std::string> m_tupleOpts; //for users' Ntuples 00052 std::vector<std::string> m_histOpts; //for users' Hists 00053 00054 JobOptionsSvc* m_svc; 00055 }; 00056 00057 #endif