58 TString lineContent = str;
59 lineContent = lineContent.Strip(TString::kBoth);
60 if (lineContent.BeginsWith(
"#") || lineContent.IsNull()) {
64 Ssiz_t hashIndex = lineContent.Index(
"#");
65 if (hashIndex != kNPOS) {
66 lineContent.Remove(hashIndex);
68 lineContent = lineContent.Strip(TString::kBoth);
70 lineContent.ReplaceAll(
",",
" ");
71 lineContent.ReplaceAll(
"\t",
" ");
72 lineContent.ReplaceAll(
" +",
" ");
74 std::unique_ptr<TObjArray> tokens(lineContent.Tokenize(
" "));
79 for (
int i = 0; i < tokens->GetEntries(); ++i) {
80 auto *token =
dynamic_cast<TObjString *
>(tokens->At(i));
82 Warning(
"LoadString",
"Invalid token at index %d", i);
86 TString valueStr = token->GetString();
87 if (!valueStr.IsFloat()) {
88 Warning(
"LoadString",
"Invalid value: %s", valueStr.Data());
91 fParams.emplace_back(valueStr.Atof());
94 Info(
"LoadString",
"Loaded %zu parameters",
fParams.size());