Re: Library included in root binary.

From: Rene Brun (Rene.Brun@cern.ch)
Date: Wed Dec 15 1999 - 12:44:21 MET


Hi Eric,
In version 2.23 the libraries have been reorganized. By default several
shared libs are not automatically linked with the Root executable.
Thge idea was to speed up the startup time.
This is the case for libEG and libPhysics. If you always use these libs,
add the statement such as:
  gSystem->Load("libPhysics")
in your rootlogon.C file.

Concerning the problem with TAttParticle: this class defines a function
Hash
that prevents THashList::FindObject to do its job. I have removed this
function
from the class in the development version.
Note that TAttParticle was a class developped before we had agreed on
the new
class TParticle. I strongly suggest you move to TParticle.

Rene Brun


E. Anciant wrote:
> 
> I have one general question, and one precise one:
> 
> first the general question:
> 
> libPhysics.so used to be included in the root binary for root 2.22
> and is not anymore in root 2.23:
> 
>   *******************************************
>   *                                         *
>   *        W E L C O M E  to  R O O T       *
>   *                                         *
>   *   Version   2.23/09  28 November 1999   *
>   *                                         *
>   *  You are welcome to visit our Web site  *
>   *          http://root.cern.ch            *
>   *                                         *
>   *******************************************
> 
> CINT/ROOT C/C++ Interpreter version 5.14.24, Nov 21 1999
> Type ? for help. Commands must be C++ statements.
> Enclose multiple statements between { }.
> root [0] TLorentzVector tv
> Error: No symbol TLorentzVectortv in current scope
> FILE:/var/tmp/baaydaWsx_cint LINE:1
> *** Interpreter error recovered ***
> root [1] .L $ROOTSYS/lib/libPhysics.so
> root [2] TLorentzVector tv
> root [3]
> 
> Some other attractive Classes that can be found in the documentation
> are not by default in the binary:
> 
> root [0] TAttParticle pa
> Error: No symbol TAttParticlepa in current scope
> FILE:/var/tmp/caaK4ayZx_cint LINE:1
> *** Interpreter error recovered ***
> root [1] .L $ROOTSYS/lib/libEG.so
> root [2] TAttParticle pa
> root [3]
> 
> Is this on purpose ? Why ?
> 
> --
> 
> Also, I am puzzled by the following:
> 
> root [3] TAttParticle::DefinePDG()
> root [4] TIter next(TAttParticle::fgList);
> root [5] TAttParticle *par;
> root [6] par = (TAttParticle *)next()
> (class TAttParticle*)0x5b4248
> root [7]  par->Print()
> 
> Particle: down
> Mass: 0.005000     DecayWidth: Stable  Charge : -0.333333
> 
> root [8] par->GetName()
> (Text_t* 0x5b49cc)"down"
> root [9] TAttParticle::fgList->FindObject("down")
> (class TObject*)0x0
> root [10]  TAttParticle::GetParticle("down")
> Error in <THashList::GetParticle>: No match for down exists !
> (class TAttParticle*)0x0
> root [11]
> 
> There must be something simple I am missing.
> 
> eric



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:44 MET