11 #ifndef ACCLAIM_ANALYSIS_SETTINGS_H 12 #define ACCLAIM_ANALYSIS_SETTINGS_H 32 #define ANALYSIS_SETTING(var_type, SettingVariable) \ 34 var_type f##SettingVariable; \ 36 var_type Get##SettingVariable() const \ 38 return f##SettingVariable; \ 40 void Set##SettingVariable(var_type val) \ 42 f##SettingVariable = val; \ 46 #define ENUM_ANALYSIS_SETTING(enum_type, SettingVariable) \ 48 enum_type f##SettingVariable; \ 50 Int_t Get##SettingVariable() const \ 52 return (Int_t)f##SettingVariable; \ 54 enum_type GetEnum##SettingVariable() const \ 56 return f##SettingVariable; \ 58 void Set##SettingVariable(Int_t val) \ 60 f##SettingVariable = (enum_type)val; \ 62 void Set##SettingVariable(enum_type val) \ 64 f##SettingVariable = val; \ 74 typedef std::map<TString, TString> VariableMap_t;
75 typedef std::map<TString, VariableMap_t*> SectionMap_t;
79 void apply(TObject* obj)
const;
80 void write(TFile* f)
const;
83 Bool_t
getSetting(
const char* settingName, Bool_t& settingVal)
const;
84 Bool_t
getSetting(
const char* settingName, Int_t& settingVal)
const;
85 Bool_t
getSetting(
const char* settingName, Double_t& settingVal)
const;
88 Bool_t stringIsKeyValuePair(
const TString& commentStrippedLine, TString& key, TString& value)
const;
89 Bool_t stringIsSection(
const TString& commentStrippedLine, TString& secName)
const;
90 Bool_t stringIsAlphaNumeric(
const TString& commentStrippedLine)
const;
92 void handleKeyValue(VariableMap_t* variableMap,
const TString& key,
const TString& value);
93 VariableMap_t* handleSection(
const TString& section);
95 Bool_t
getSetting(
const char* settingName, TString& settingVal)
const;
98 void parseSettingsFile();
99 Bool_t tryFile(
const char* fName);
103 TString parsedFileCopy;
104 SectionMap_t sectionMap;
Namespace which wraps everything in the library.
Bool_t getSetting(const char *settingName, Bool_t &settingVal) const