1 #ifndef __RAT_FitResult__
2 #define __RAT_FitResult__
7 #include <RAT/DS/Classifier.hh>
17 FitResult(std::string _name =
"", std::string _tag =
"")
21 fit_position(-1e9, -1e9, -1e9),
22 fit_direction(0, 0, 0),
28 virtual const std::string &GetFitterName()
const {
return fitter_name; }
29 virtual void SetFitterName(
const std::string &_name) { fitter_name = _name; }
30 virtual const std::string &GetTag()
const {
return tag; }
31 virtual void SetTag(
const std::string &_tag) { tag = _tag; }
32 virtual const std::string GetFullName()
const {
33 if (tag.empty())
return fitter_name;
34 return fitter_name +
"__" + tag;
37 static std::string GetFitterNameFromFullName(
const std::string &full_name) {
38 size_t sep = full_name.find(
"__");
39 if (sep != std::string::npos) {
40 return full_name.substr(0, sep);
46 virtual const TVector3 &GetPosition()
const {
return fit_position; }
47 virtual void SetPosition(
const TVector3 &_pos) {
49 SetValidPosition(
true);
50 SetEnablePosition(
true);
52 virtual const bool GetValidPosition() {
return valid_position; }
53 virtual void SetValidPosition(
const bool _valid) { valid_position = _valid; }
54 virtual const bool GetEnablePosition() {
return enable_position; }
55 virtual void SetEnablePosition(
const bool _enable) { enable_position = _enable; }
58 virtual const TVector3 &GetDirection()
const {
return fit_direction; }
59 virtual void SetDirection(
const TVector3 &_dir) {
61 SetValidDirection(
true);
62 SetEnableDirection(
true);
64 virtual const bool GetValidDirection() {
return valid_direction; }
65 virtual void SetValidDirection(
const bool _valid) { valid_direction = _valid; }
66 virtual const bool GetEnableDirection() {
return enable_direction; }
67 virtual void SetEnableDirection(
const bool _enable) { enable_direction = _enable; }
70 virtual const double GetEnergy() {
return fit_energy; }
71 virtual void SetEnergy(
const double _energy) {
74 SetEnableEnergy(
true);
76 virtual const bool GetValidEnergy() {
return valid_energy; }
77 virtual void SetValidEnergy(
const bool _valid) { valid_energy = _valid; }
78 virtual const bool GetEnableEnergy() {
return enable_energy; }
79 virtual void SetEnableEnergy(
const bool _enable) { enable_energy = _enable; }
82 virtual const double GetTime() {
return fit_time; }
83 virtual void SetTime(
const double _time) {
88 virtual const bool GetValidTime() {
return valid_time; }
89 virtual void SetValidTime(
const bool _valid) { valid_time = _valid; }
90 virtual const bool GetEnableTime() {
return enable_time; }
91 virtual void SetEnableTime(
const bool _enable) { enable_time = _enable; }
94 void SetFigureOfMerit(
const std::string &name,
double value) { figuresOfMerit[name] = value; }
95 double GetFigureOfMerit(
const std::string &name) {
96 if (figuresOfMerit.find(name) == figuresOfMerit.end()) {
99 return figuresOfMerit.at(name);
102 std::map<std::string, double> figuresOfMerit;
105 std::map<std::string, Classifier> classifiers;
110 std::string fitter_name;
113 TVector3 fit_position;
114 TVector3 fit_direction;
118 bool valid_position =
false;
119 bool valid_direction =
false;
120 bool valid_energy =
false;
121 bool valid_time =
false;
123 bool enable_position =
false;
124 bool enable_direction =
false;
125 bool enable_energy =
false;
126 bool enable_time =
false;
Definition: FitResult.hh:15
Definition: CCCrossSecMessenger.hh:29