TF1 class reference says, that there is a public member function of
GetRange(), which takes two pointers to doubles. For me calling this results an error message of
"GetRange() is protected within the context". Is this a bug? There is a version of this very same function taking two variables by reference, that works just fine.
Which version of ROOT are you using? It works for me with the master. For example:
Double_t x, y;
TF1 *fit_x = new TF1("fit_x", "gaus", -2.0, 2.0);
cout << "GetRange(&x, &y): x = " << x << "; y = " << y << endl;
cout << "GetRange(x, y): x = " << x << "; y = " << y << endl;
GetRange(&x, &y): x = -2; y = 2
GetRange(x, y): x = -2; y = 2
ROOT 6.08/07 this produces an error:
void fun_test(const TF1* t_fun) // This should be fun, but it is not :(
double keyMin = 0;
double keyMax = 0;
t_fun -> GetRange(&keyMin, &keyMax);
// According to the ref. I should be able to call this from within const context
Yes, in ROOT v6.08 the
GetRange(Double_t * xmin, Double_t * xmax) method is declared as protected. (you can check in $(ROOTSYS)/include/TF1.h)
Shouldn’t the doxygen class reference remove it from the public interface too?
Nope, because in the master it is public…
The documentation for the 6.08 version is:
Ah, I did not realize there was a new release since then
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.