1 #ifndef __RAT_Classifier__
2 #define __RAT_Classifier__
15 Classifier() : TObject(), classificationLabels(std::vector<std::string>{
""}), classifier_name(
"") {
17 for (
auto &L : classificationLabels) {
18 this->nameIndexMap[L] = index++;
19 this->classificationResults.push_back(0.0);
22 Classifier(std::string name, std::vector<std::string> labels)
23 : TObject(), classificationLabels(labels), classifier_name(name) {
25 for (
auto &L : labels) {
26 this->nameIndexMap[L] = index++;
27 this->classificationResults.push_back(0.0);
33 virtual const std::string &GetClassifierName()
const {
return classifier_name; }
34 virtual void SetClassifierName(
const std::string &_name) { classifier_name = _name; }
37 virtual void SetClassificationResult(
const std::string &name,
double val) {
38 classificationResults[nameIndexMap[name]] = val;
40 virtual double GetClassificationResult(
const std::string &name) {
return classificationResults[nameIndexMap[name]]; }
43 std::vector<std::string> classificationLabels;
44 std::vector<double> classificationResults;
45 std::map<std::string, int> nameIndexMap;
50 std::string classifier_name;
Definition: Classifier.hh:13
Definition: CCCrossSecMessenger.hh:29