Re: [ROOT] GetParErrors()

From: Alberto Garcia Raboso (Alberto.Garcia.Raboso@cern.ch)
Date: Thu Sep 19 2002 - 14:59:18 MEST


Hi Rene,

The reason is that I use STL vectors in my program, so with «void
GetParameters(Double_t*)» I can do
	vector<Double_t> ValParams;
	pFitResult->GetParameters(ValParams.begin());
while with «Double_t* GetParErrors() const» I have to do
	vector<Double_t> ErrParams;
	Double_t *temp = pFitResult->GetParErrors();
	ErrParams.insert(ErrParams.begin(), temp, temp + NParams);
Only a matter of convenience, but, as you can see, it allows the
programmer to use arrays and STL vectors (and perhaps TVector, I've not
dealt with them).

Cheers,

Alberto

Rene Brun wrote:
> 
> Hi Alberto,
> 
> I am a bit relunctant to implement this kind of interface in
> more classes (I know that it is in TFormula and some other classes).
> Passing a non const pointer as argument makes debugging more
> difficult in case, for example, the user provided array
> is not large enough.
> A solution where the array is created internally by the Get function
> is not a solution either because it confuses who is owning what.
> One could imagine more sophisticated solutions where a high level
> object, like TVector, STL vector is filled, but this is the door open
> to an infinity of prototypes in a class with the result that
> the interface looks more complex.
> 
> At least, this is my view. May be a majority thinks differently.
> In this particular example with GetParErrors, why is the
> existing prototype not sufficient? Do you want to change
> the errors ?
> 
> Rene Brun
> 
> On Wed, 18 Sep 2002, Alberto Garcia Raboso wrote:
> 
> > Hi ROOTers,
> >
> > In TFormula, the method GetParameters() is overloaded as
> >       virtual Double_t* GetParameters() const
> >       virtual void GetParameters(Double_t* params)
> > However, the method TF1::GetParErrors() has only one form
> >       virtual Double_t* GetParErrors() const
> >
> > I find particularly useful the second prototype of GetParameters(), but
> > it doesn't exist for GetParErrors()... Is it intended or just an
> > oversight?
> >
> > Cheers,
> >
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > Alberto Garcia Raboso
> > CERN / EP
> > CH-1211 Geneva 23, Switzerland
> > Office 40-2B-19 (+41 22 76 71626)
> > E-Mail: Alberto.Garcia.Raboso@cern.ch
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > Well, farewell, my hobbits! You should come safe to your own
> > homes now, and I shall not be kept awake for fear of your
> > peril. We will send word when we may, and some of us may yet
> > meet at times; but I fear that we shall not all be gathered
> > together ever again.
> >
> >                       The return of the King. J.R.R. Tolkien
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Alberto Garcia Raboso
CERN / EP
CH-1211 Geneva 23, Switzerland
Office 40-2B-19 (+41 22 76 71626)
E-Mail: Alberto.Garcia.Raboso@cern.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Well, farewell, my hobbits! You should come safe to your own
homes now, and I shall not be kept awake for fear of your
peril. We will send word when we may, and some of us may yet
meet at times; but I fear that we shall not all be gathered
together ever again.

                      The return of the King. J.R.R. Tolkien
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:10 MET