Re: [ROOT] problem with version 4.00/03

From: Edmond Offermann (edmondoffermann@yahoo.com)
Date: Wed Apr 14 2004 - 17:04:58 MEST


Hi Francesco,

It is a problem with the new matrix package, I will
install today or tomorrow a patch in CVS.
Here is the story:

In the old package we had TMatrix for float and
TMatrixD for double . Given the new upcoming matrix
types for symmetric, sparse ... matrices, we decided
to adhere to a more consistent naming convention:
TMatrixF for float and TMatrixD for double . You
can see in TMatrixF.h that for backward compatibility,
we kept TMatrix which simply inherits from TMatrixF 
but forgot about all the matrix utilities like 
TMatrixRow, TMatrixColumn, TMatrixDiag, TMatrixFlat
and TMatrixLazy.

As promised above, the patch is coming shortly but
another solution for you is to replace all TMatrix
by TMatrixF .

Best Regards, Eddy

ps. Sitting currently right next to Rene's office,
    it is impressive to see the priority backward
    compatibility is given by Rene . 


--- Perfetto Francesco <perfetto@na.infn.it> wrote:
> 
> Hi all,
> 
> I use red hat 9.0 with root 4.00/03
> 
> when I compiling my analisis program under root
> 4.00/03 I have the
> following error:
> 
> lxkloe1:~> gmake
> g++ -g -D_REENTRANT -I/cern/root/include -c
> analisi_mc_new.cc -o
> Linux/analisi_mc_new.o
> In file included from
> /usr/include/c++/3.2.2/backward/iostream.h:31,
>                  from analisi_mc_new.cc:13:
>
/usr/include/c++/3.2.2/backward/backward_warning.h:32:2:
> warning: #warning
> This file includes at least one deprecated or
> antiquated header. Please
> consider using one of the 32 headers found in
> section 17.4.1.2 of the C++
> standard. Examples include substituting the <X>
> header for the <X.h>
> header for C++ includes, or <sstream> instead of the
> deprecated header
> <strstream.h>. To disable this warning use
> -Wno-deprecated.
> analisi_mc_new.cc: In member function `void
> analisi_mc_new::Loop(int)':
> analisi_mc_new.cc:25: warning: initialization to
> `Int_t' from `Double_t'
> analisi_mc_new.cc:25: warning: argument to `int'
> from `Double_t'
> analisi_mc_new.cc:458: `TMatrixRow' undeclared
> (first use this function)
> analisi_mc_new.cc:458: (Each undeclared identifier
> is reported only once
> for
>    each function it appears in.)
> analisi_mc_new.cc:488: warning: passing `float' for
> argument 1 of `virtual
>    TObject* TObjArray::At(int) const'
> analisi_mc_new.cc:489: warning: passing `float' for
> argument 1 of `virtual
>    TObject* TObjArray::At(int) const'
> analisi_mc_new.cc:502: warning: passing `float' for
> argument 1 of `virtual
>    TObject* TObjArray::At(int) const'
> analisi_mc_new.cc:503: warning: passing `float' for
> argument 1 of `virtual
>    TObject* TObjArray::At(int) const'
> analisi_mc_new.cc:525: warning: assignment to
> `Int_t' from `float'
> analisi_mc_new.cc:525: warning: argument to `int'
> from `float'
> gmake: *** [Linux/analisi_mc_new.o] Error 1
> 
> The problem is at line 458 at TMatrixRow:
> 
> ...
> TMatrix combi(15,6);
> TVector indic(6);
> ...
> TMatrixRow(combi,riga)=indic; <- line 458
> ...
> 
> this don't happen on version 3.10/02.
> 
> Is this on problem on my code or is a problem on
> version 4.00/03 ?
> 
> Can any help me?
> 
> 
> Thanks Francesco.
> 
> 



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:07 MET