44#ifndef G4ConvergenceTester_hh
45#define G4ConvergenceTester_hh 1
76 return slope_fitting_function(x);
103 inline void CheckIsUpdated()
105 if(!statsAreUpdated) { calStat(); }
108 void calc_grid_point_of_history();
109 void calc_stat_history();
110 void check_stat_history(std::ostream& out =
G4cout);
111 G4double calc_Pearson_r(
G4int,std::vector<G4double>,std::vector<G4double>);
112 G4bool is_monotonically_decrease(
const std::vector<G4double>&);
113 void calc_slope_fit(
const std::vector<G4double>&);
114 G4double slope_fitting_function(std::vector<G4double>);
119 std::map<G4int, G4double> nonzero_histories;
124 std::vector<G4double> cpu_time;
138 G4int largest_score_happened = 0;
148 G4int noBinOfHistory = 16;
149 std::vector<G4int> history_grid;
150 std::vector<G4double> mean_history;
151 std::vector<G4double> var_history;
152 std::vector<G4double> sd_history;
153 std::vector<G4double> r_history;
154 std::vector<G4double> vov_history;
155 std::vector<G4double> fom_history;
156 std::vector<G4double> shift_history;
157 std::vector<G4double> e_history;
158 std::vector<G4double> r2eff_history;
159 std::vector<G4double> r2int_history;
162 std::vector<G4double> largest_scores;
163 std::vector<G4double> f_xi;
164 std::vector<G4double> f_yi;
165 G4int noBinOfPDF = 10;
171 G4bool statsAreUpdated =
true;
172 G4bool showHistory =
true;
G4GLOB_DLL std::ostream G4cout
G4ConvergenceTester & operator+=(G4double val)
void ShowResult(std::ostream &out=G4cout)
G4double GetValueOfMinimizingFunction(std::vector< G4double > x)
void ShowHistory(std::ostream &out=G4cout)
G4ConvergenceTester(G4double)
G4double GetStandardDeviation()