[root] / trunk / core / base / src / TROOT.cxx Repository:
ViewVC logotype

Log of /trunk/core/base/src/TROOT.cxx

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 49325 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 24 16:28:08 2013 UTC (21 months ago) by axel
File length: 73023 byte(s)
Diff to previous 48890
Update to clang/llvm r179269 (llvm vendor branch r49215):
Parser::Scope versus Sema::DeclContext are now checked for cross-vailidity.
Emit the TU-transaction explicitly instead of relying on a first transaction.
The typename extraction now takes a stream instead of a string to write to.
The llvm::Linker has much reduced functionality; use llvm::sys::Path instead to find dynamic libraries.

Revision 48890 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Mar 17 22:30:21 2013 UTC (22 months, 1 week ago) by rdm
File length: 72994 byte(s)
Diff to previous 48786
Month "Dec" was truncated. Fixes issue #100892.

Revision 48786 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 1 14:14:01 2013 UTC (22 months, 3 weeks ago) by axel
File length: 72993 byte(s)
Diff to previous 48248
cling knows PP macros; no need for LoadRQ_OBJECT() to inject the macro into the interpreter.

Revision 48248 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 9 14:54:13 2013 UTC (2 years ago) by pcanal
File length: 73104 byte(s)
Diff to previous 48236
Remove from closeFiles the deletion that are either too early or inaccurate (fSpecials does not own its content)

Revision 48236 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 8 20:07:47 2013 UTC (2 years ago) by pcanal
File length: 73249 byte(s)
Diff to previous 48220
Also call TROOT::CloseFiles as a atexit function.  This reduces the risk of problem when ::exit is called explicitly.  However this solution still requires at least one TApplication to be created and since atexit (on linux/macos) are in order, this is still technically too late.  The library that are loaded dynamically (gSystem->Load, dlopen) will be unloaded before the atexit installed by TApplication (at the start of the main).  What we really need is to call exactly after the end of the main and before the first library (with a dictionary) is unloaded [which we could do if (and only if) we know how to cheaply know that the library is being unloaded after main

Revision 48220 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 7 22:21:37 2013 UTC (2 years ago) by pcanal
File length: 73248 byte(s)
Diff to previous 48154
Extend (subvert!) TROOT::CloseFiles to also delete the other active user objects held in TROOT ; for example this allow the earlier deletion of outstanding TBrowsers object, allowing their destructor to use a fully functional interpreter ; this fixes <http://savannah.cern.ch/bugs/?99193>

Revision 48154 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 20 07:12:44 2012 UTC (2 years, 1 month ago) by pcanal
File length: 72868 byte(s)
Diff to previous 47997
On some 'newer' platform (Fedora Core 17+, Ubuntu 12), the 
initialization order is (by default?) is 'wrong' and so we can't
delete the interpreter now .. because any of the static in the 
interpreter's libray have already been deleted.
On the link line, we must list the most dependent .o file 
and end with the least dependent (LLVM libraries), unfortunately,
Fedora Core 17+ or Ubuntu 12 will also execute the initialization
in the same order (hence doing libCore's before LLVM's and 
vice et versa for both the destructor.  We worked around the 
initialization order by delay the TROOT creation until first use.
We can not do the same for destruction as we have no way of knowing
the last access ...
So for now, let's avoid delete TCling except in the special build
checking the completeness of the termination deletion.

Revision 47997 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 13 09:34:44 2012 UTC (2 years, 1 month ago) by rdm
File length: 72052 byte(s)
Diff to previous 47952
From Vassil:
TCintWithCling -> TCling.

Revision 47952 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 10 18:57:10 2012 UTC (2 years, 1 month ago) by rdm
File length: 72068 byte(s)
Diff to previous 47638
More CINT removal cleanups:
- configure: remove enable_cling and hascling as we always have cling.
- remove many R__HAS_CLING ifdef's from the code.

Revision 47638 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 26 21:34:16 2012 UTC (2 years, 1 month ago) by pcanal
File length: 73083 byte(s)
Diff to previous 47039
Add TInterpreter::GenerateTClass taking either a 'const char*' or a ClassInfo_t*
to centralize the on-the-fly generation of a TClass object.

For STL collection for which we have clang AST information, generate the TClass
via rootcling (using some part of the automatic dictionary generator).   At a
later date this could be done all via the JIT when/if we migrate more of the 
code from rootcling to core/metautils.

Revision 47039 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 5 15:53:37 2012 UTC (2 years, 2 months ago) by rdm
File length: 73181 byte(s)
Diff to previous 46935
fix for creation of second TROOT (like in roottest/root/io/bigevent).

Revision 46935 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 31 15:10:31 2012 UTC (2 years, 2 months ago) by rdm
File length: 73037 byte(s)
Diff to previous 46853
white space.

Revision 46853 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Oct 27 21:05:57 2012 UTC (2 years, 2 months ago) by rdm
File length: 73046 byte(s)
Diff to previous 46736
Fix the issues with order in which global TROOT and LLVM globals are
initialized. TROOT was initializing Cling, but Cling could not be used
yet due to LLVM globals not being initialized yet. Solution, to delay
initializing the interpreter in TROOT till after main() when all LLVM
globals are initialized. Also the global gROOT is now defined to be
a function (ROOT::GetROOT()). Looks like it works correct on MacOS X 
and Linux (ld and gold).

Revision 46736 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 23 09:21:54 2012 UTC (2 years, 3 months ago) by rdm
File length: 71581 byte(s)
Diff to previous 46585
remove the libGlobals which doesn't work as expected.

Revision 46585 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 16 20:39:31 2012 UTC (2 years, 3 months ago) by rdm
File length: 71657 byte(s)
Diff to previous 46569
disable InitGlobals for the time being.

Revision 46569 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 16 15:23:00 2012 UTC (2 years, 3 months ago) by rdm
File length: 71593 byte(s)
Diff to previous 45297
add new library libGlobals that will be linked after libCore so that the TROOT
singleton gROOT is created after all LLVM globals in libCore have been
initialized.

Revision 45297 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 30 16:05:19 2012 UTC (2 years, 5 months ago) by rdm
File length: 71581 byte(s)
Diff to previous 44663
From Timur:
set batch to false in case of OSX Cocoa backend.

Revision 44663 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 12 15:32:42 2012 UTC (2 years, 7 months ago) by rdm
File length: 71527 byte(s)
Diff to previous 44507
global edit broke plugin rc file.

Revision 44507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by axel
File length: 71532 byte(s)
Diff to previous 43829
Remove
  using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.

Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.

Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.

Revision 43829 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 18 17:21:16 2012 UTC (2 years, 9 months ago) by rdm
File length: 71522 byte(s)
Diff to previous 43719
make sure TObjectTable does not contain objects that are deleted after
the recording is turned off (this could happen after TMacOSXSystem
initialization).

Revision 43719 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 12 23:00:08 2012 UTC (2 years, 9 months ago) by rdm
File length: 71165 byte(s)
Diff to previous 43519
From Timur:
MacOS X native Cocoa/Quartz based backend. To build this version do:
   ./configure --enable-cocoa
Code is still rough but will be refined quickly for the May release.

Revision 43519 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 28 01:25:44 2012 UTC (2 years, 9 months ago) by pcanal
File length: 71025 byte(s)
Diff to previous 42101
Fix for coding convention: RS4 (Descriptions of a function or class method shall be in the first comment block after the first)

Revision 42101 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 17 19:45:24 2011 UTC (3 years, 2 months ago) by rdm
File length: 70891 byte(s)
Diff to previous 41514
New rootrc variable which allows to control the installation of ROOT error
handlers. By default the handlers are activated: 
Root.ErrorHandlers:      1
but setting the value to 0 result in no error handlers being set and the
originals remaining in place. This might be useful if ROOT is used in
conjunction with other frameworks that install their own handlers.
This implements suggestion #87237.

Revision 41514 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 20 14:34:33 2011 UTC (3 years, 3 months ago) by rdm
File length: 70806 byte(s)
Diff to previous 41487
fix clang++ warning.

Revision 41487 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 20 07:07:58 2011 UTC (3 years, 3 months ago) by axel
File length: 70807 byte(s)
Diff to previous 41386
Follow class name and file name change.

Revision 41386 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 13 21:20:35 2011 UTC (3 years, 3 months ago) by pcanal
File length: 70684 byte(s)
Diff to previous 41092
Deprecate TROOT::RemoveClass (in favor of TClass::RemoveClass)

Revision 41092 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 3 07:30:06 2011 UTC (3 years, 3 months ago) by pcanal
File length: 70853 byte(s)
Diff to previous 41086
Whenever a thread has an associated TThread object, the value of gDirectory is now 
thread local, i.e. all modifications direct or indirect of gDirectory will not be 
seen by the other thread.   In particular this means that several I/O operations 
(including TDirectory::Write) are now thread safe (<b>as long as all the required 
TClass and TStreamerInfo has been previously setup</b>).

This model does <b>not</b> support sharing TFile amongst threads (i.e. a TFile 
must be accessed from exactly <b>one</b> thread).   This means that whenever a TFile's 
control is <i>passed</i> from a thread to another, the code must explicitly reset 
gDirectory to another value or there is a risk for this gDirectory to point to a 
stale pointer if the other thread deletes the TFile object.  A TFile deletion will 
only affect the value of the local gDirectory.

Note: gFile now always returns the file of the current directory or zero if the 
current directory is not a TDirectoryFile.   In particular this means that gFile 
itself is now read-only and can not be modified directly.

The global values gDirectory and gFile are now all accessed via a static function 
of their respective class.  The access is made transparent via a CPP macro.

gPad, gVirtualX and gInterpreter are now accessible even when their value 
is zero and they now properly support tab completion. (and the same technique is used 
for gDirectory and gPad).

Revision 41086 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 30 21:27:53 2011 UTC (3 years, 3 months ago) by pcanal
File length: 71279 byte(s)
Diff to previous 41070
Introduce TThreadSlots.h to centralize and formalize the use of the TThread local memory slots amongst the ROOT packages.
Move the definition of gThreadTsd to TROOT.cxx.

Revision 41070 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 30 12:15:22 2011 UTC (3 years, 3 months ago) by axel
File length: 71198 byte(s)
Diff to previous 40940
Keep a map of EDataType to TDataType* (an array, really) for quick access.
Move the creation of builtins' TDataType objects from TROOT to TDataType to populate that array.
Add remaining builtins to EDataType.
Implement TDictionary::GetDictionary(const type_info&), combining those for TDataType and TClass, just like TDictionary::GetDictionary(const char* name).

Revision 40940 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 19 16:48:22 2011 UTC (3 years, 4 months ago) by pcanal
File length: 71970 byte(s)
Diff to previous 40621
When clearing the list of files after closing them we must not delete the objects as 
they have been moved to the list of closed objects and must be 
deleted from there in order to avoid a double delete from a
use objects (on the interpreter stack).

Revision 40621 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 17 17:02:10 2011 UTC (3 years, 5 months ago) by rdm
File length: 71734 byte(s)
Diff to previous 39891
if home directory is not correctly set in pw file or user is not known,
use the HOME shell variable to find the desired home directory.
Fixes issue 83268.

Revision 39891 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 22 15:43:34 2011 UTC (3 years, 7 months ago) by pcanal
File length: 71649 byte(s)
Diff to previous 39126
Mark fSockets and fInterpreter as kMustCleanup so that they automatically remove themselves from the list of cleanups when they are deleted

Revision 39126 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 6 14:35:15 2011 UTC (3 years, 8 months ago) by rdm
File length: 71563 byte(s)
Diff to previous 39117
on iOS one cannot have a directory of plugin scripts (no sub directories
allowed in sandbox). All plugin definitions are provided in a single TEnv file:
system.plugins-ios. This file is generated (when needed) via:
make plugins-ios

Revision 39117 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 5 16:44:05 2011 UTC (3 years, 8 months ago) by pcanal
File length: 71381 byte(s)
Diff to previous 39113
From Axel:

Fix "#include <exception>" by not calling TClass::GetClass() on forward
declared classes.

Revision 39113 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 5 14:49:52 2011 UTC (3 years, 8 months ago) by couet
File length: 70373 byte(s)
Diff to previous 38958
- It was not a good idea to make the style names case unsensitive
  because some user defined styles like in tmva/test rely on case
  sensitive names.

Revision 38958 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 20 12:10:02 2011 UTC (3 years, 9 months ago) by couet
File length: 70398 byte(s)
Diff to previous 38949
- Rename the "Clean" style "Modern". Same name as the
  new GUI style.

Revision 38949 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 20 09:32:07 2011 UTC (3 years, 9 months ago) by couet
File length: 70397 byte(s)
Diff to previous 38797
- Make "Clean" the default style. 
  The old default is now called "Classic"

Revision 38797 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 11 15:11:58 2011 UTC (3 years, 9 months ago) by pcanal
File length: 70399 byte(s)
Diff to previous 38789
Make sure that the list of closed object is informed if a 'socket' is deleted ; rename ListOfClosedFiles unto ListOfClosedObjects

Revision 38789 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Apr 9 18:03:24 2011 UTC (3 years, 9 months ago) by pcanal
File length: 70190 byte(s)
Diff to previous 38787
TProofMgr: Anything that is added to the list of Sockets must have a Close method.
TROOT: properly lookp over fSockets (knowning Close remove the object from the list)
and properly look up Close for non-TSockets.

Revision 38787 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 8 23:01:47 2011 UTC (3 years, 9 months ago) by pcanal
File length: 68734 byte(s)
Diff to previous 38786
Do not delete the list of closed files until all files are deleted

Revision 38786 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 8 22:18:07 2011 UTC (3 years, 9 months ago) by pcanal
File length: 68710 byte(s)
Diff to previous 38785
Not all the element in GetListOfSockets is a TSockets, it can also be some of Proof related classes, so we have to be more carefull when calling Close

Revision 38785 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 8 21:05:17 2011 UTC (3 years, 9 months ago) by pcanal
File length: 67936 byte(s)
Diff to previous 38783
We can not have 'closed' files in TROOT::GetListOfFiles, but also can not lose track of them (otherwise there is a risk of memory leak)

Revision 38783 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 8 18:51:06 2011 UTC (3 years, 9 months ago) by pcanal
File length: 66831 byte(s)
Diff to previous 38773
Implement a slow iteration over the list of file for closing the file (which might change the list of files).  Use it in TROOT::CloseFiles (rather than deleting the TFile object).  TFile::Close not longer remove the object from the list of files (as doing so outside the TFile destructor could lead to memory leak if the user relies on TROOT to delete the TFile object).

Revision 38773 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 7 21:17:44 2011 UTC (3 years, 9 months ago) by pcanal
File length: 66804 byte(s)
Diff to previous 38769
Revert CloseFile to call Delete(slow) until we implement a slow looping for Closing (this is needed because some file closing will delete TFiles (via the deletion of TTree objects)

Revision 38769 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 7 17:23:58 2011 UTC (3 years, 9 months ago) by pcanal
File length: 66664 byte(s)
Diff to previous 38748
Migrate the call to ResetGlobals from TRint/TApplication::Terminate
to T*System::Exit (and remove the calls to CloseFiles since they are
already in ::Exit) so that:
  - CloseFiles is called only once (rather than 3 times)
  - ResetGlobal is called before unloading libraries in all cases
  - CloseFiles/ResetGlobal are not called if fReturnFromRun is true
(Also do not delete the MemStat if fReturnFromRun is true)

Revision 38748 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 6 09:46:18 2011 UTC (3 years, 9 months ago) by couet
File length: 66004 byte(s)
Diff to previous 38740
- Remove useless .Data()

Revision 38740 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 5 15:55:21 2011 UTC (3 years, 9 months ago) by couet
File length: 66011 byte(s)
Diff to previous 38710
- Make the style names case unsensitive.

Revision 38710 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 1 20:00:17 2011 UTC (3 years, 9 months ago) by pcanal
File length: 65934 byte(s)
Diff to previous 38706
Fix another typo

Revision 38706 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 1 15:34:49 2011 UTC (3 years, 9 months ago) by rdm
File length: 65935 byte(s)
Diff to previous 38664
fix type in comment and add protection against 0 pointer dereference.

Revision 38664 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 30 08:46:54 2011 UTC (3 years, 9 months ago) by couet
File length: 65908 byte(s)
Diff to previous 38661
- Use gEnv->GetValue("Canvas.Style") to set the default style.

Revision 38661 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 29 21:25:25 2011 UTC (3 years, 9 months ago) by pcanal
File length: 65876 byte(s)
Diff to previous 38654
Fill in the implementation of TROOT::FindObjectAnyFile

Revision 38654 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 29 16:29:23 2011 UTC (3 years, 9 months ago) by pcanal
File length: 65361 byte(s)
Diff to previous 38288
Mark TROOT as 'TObject::kInvalidObject' as soon as its destructor starts,
in order to be able to veto some action later on (like autoloading).
This prevents a crash when doing:
root.exe -l
root [] new TBrowser
root [] .q

Revision 38288 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 2 17:03:03 2011 UTC (3 years, 10 months ago) by pcanal
File length: 65184 byte(s)
Diff to previous 37699
Introduce new function TROOT::CloseFiles to be used to insure that any 
files or socket is closed and deleted before any library is unloaded and/or 
CINT's shutdown is started.   Use this function in the few places already
using the explicit alternative and add to TApplication handling of the .q
command (to avoid the order of deletion problem that was present there)

Revision 37699 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 3 16:46:42 2011 UTC (4 years ago) by pcanal
File length: 64724 byte(s)
Diff to previous 37531
From Paul: Remove code that has been 'dead' since revision 1939\!

Revision 37531 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 10 20:38:06 2010 UTC (4 years, 1 month ago) by pcanal
File length: 65018 byte(s)
Diff to previous 37322
Fix several memory leaks (TSchemaRuleSet, TClass, TFolder, stress, TStreamerInfo, TFile, TFree)

Introduce a new preprocessor symbol (R__COMPLETE_MEM_TERMINATION) that allows for
better tracking of memory leak.   When ROOT is compiled with this symbols is defined,
globally held objects will be deleted at the time of the process termination.

With this symbol defined, some tests (root.exe -b -l -q ; test/stress ;) run under
'valgrind --leak-check=yes' with no memory leak reports (but still a few still
reacheable blocks).   However, this does not yet support (i.e. segfault at termination) 
the case where TFunctions are created on the 'CINT' stack (and thus fails roottest) and
some uses of CINT functions for fitting ...  and probably also fails on Windows.

Revision 37322 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 6 11:02:12 2010 UTC (4 years, 1 month ago) by rdm
File length: 64236 byte(s)
Diff to previous 35884
on iOS etc does not exist and svninfo resides in $ROOTSYS.

Revision 35884 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 30 08:43:19 2010 UTC (4 years, 3 months ago) by couet
File length: 64074 byte(s)
Diff to previous 35592
- Fix a typo in the MemCheck doc

Revision 35592 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 22 14:21:11 2010 UTC (4 years, 4 months ago) by rdm
File length: 64073 byte(s)
Diff to previous 34885
fix coverity 10706.

Revision 34885 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 20 13:33:08 2010 UTC (4 years, 5 months ago) by pcanal
File length: 64055 byte(s)
Diff to previous 34200
Fix uninitialized var

Revision 34200 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 30 09:06:17 2010 UTC (4 years, 6 months ago) by brun
File length: 62366 byte(s)
Diff to previous 33854
Fix format in Error statement

Revision 33854 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jun 12 14:09:50 2010 UTC (4 years, 7 months ago) by pcanal
File length: 62366 byte(s)
Diff to previous 33831
From Axel and Philippe:
In TClassTable, normalize 'long long' to 'Long64_t' in lookups (as we are already doing on input).

Revision 33831 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 10 16:27:01 2010 UTC (4 years, 7 months ago) by pcanal
File length: 62858 byte(s)
Diff to previous 33606
code layout

Revision 33606 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 21 15:42:13 2010 UTC (4 years, 8 months ago) by pcanal
File length: 62848 byte(s)
Diff to previous 33601
From Axel:
Add comment on why ":::" should not be ignored.

Revision 33601 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 21 09:52:21 2010 UTC (4 years, 8 months ago) by brun
File length: 62510 byte(s)
Diff to previous 33594
From Axel:

Protect A/B.h vs. A::B algorithm from drive letters; fixes roottest on
windows.

Revision 33594 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 20 17:24:35 2010 UTC (4 years, 8 months ago) by pcanal
File length: 62405 byte(s)
Diff to previous 33429
From Axel:

Ignore includes of A/B.h if a class A::B exists; fixes issue with
re-running tutorials/roostats/rs401c*.C.
Fix documentation (int, not bool).

Revision 33429 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat May 8 02:13:28 2010 UTC (4 years, 8 months ago) by pcanal
File length: 62302 byte(s)
Diff to previous 33377
remove debugging comment

Revision 33377 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 4 16:53:52 2010 UTC (4 years, 8 months ago) by pcanal
File length: 62347 byte(s)
Diff to previous 33054
Avoid problem case where TROOT::LoadClass is being called with a string that is changed/deleted during its execution (by an autoload for example).  This fixes the problem seen at http://root.cern.ch/phpBB2/viewtopic.php?t=10308

Revision 33054 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 15 16:47:24 2010 UTC (4 years, 9 months ago) by pcanal
File length: 61966 byte(s)
Diff to previous 32970
From Axel:

Move CINT specific initialization (i.e. preventing CINT from #include-ing files it cannot parse) from TRint into TCint. Consistently tell the interpreter to #include <string>, not <_string>. Set the include path in TCint / TCling so they can load interpreter specific headers (like RtypesCint.h). Whether or not to remove the interpreter includes in TProofServLite::SetupOnFork() will
be studied by Gerri, for now they should not hurt.

Revision 32970 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 13 16:36:38 2010 UTC (4 years, 9 months ago) by rdm
File length: 62297 byte(s)
Diff to previous 32644
m Axel:
Introduce cling as a regular module to ROOT. It will only be built if
cint/cling exists; configure's output does not advocate its ability to
configure for cling. TCint's dictionary will now end up in G__TCint.cxx
instead of G__Meta to allow it to be swapped with the dictionary for
TCint from cling. In the near future, ROOT will be changed so that it
doesn't require the interpreter to be called "TCint"; at least friend
declarations in TROOT and TClass prevent that for now.

Revision 32644 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 17 13:58:28 2010 UTC (4 years, 10 months ago) by pcanal
File length: 62242 byte(s)
Diff to previous 31914
Add the ability to feed I/O customization rules from a text
file, the following 3 files are checked at start up;
     $ROOTSYS/etc/class.rules (or ROOTETCDIR/class.rules)
     $HOME/class.rules
     ./class.rules 

Add a short form to the I/O customization rules.  The 2 syntaxes are:
Short form:
   [type=Read] classname membername [attributes=... ] [version=[...] ] [checksum=[...] ] [oldtype=...] [code={...}]
Long form:
   [type=Read] sourceClass=classname [targetclass=newClassname] [ source="type membername; [type2 membername2]" ]
        [target="membername3;membername4"] [attributes=... ] [version=...] [checksum=...] [code={...}|functionname]

Add a new element to the rules: attributes
Currently the only 2 attributes supported are 'Owner' and 'NotOwner' which
indicates to whether the data member 'owns' the objects it is pointing to.

Store all the rules defined for all the classes stored in a TFile in the
same list as the StreamerInfo.   The rules are stored as a sub list of
TObjString and the list is named 'listOfRules'

TClass: when creating or registering a class we now alway remove the 
any part of the class name that is a default template argument of a STL
container. (i.e. the allocator in pair<int,vector<int,allocator> >
which becomes pair<int,vector<int> >)

TList: Improve the performance of RemoveLast by customizing it for TList.

Revision 31914 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 16 10:57:32 2009 UTC (5 years, 1 month ago) by rdm
File length: 62148 byte(s)
Diff to previous 31522
From Axel:
removal of CINT7 from the build system.

Revision 31522 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 3 13:40:11 2009 UTC (5 years, 1 month ago) by rdm
File length: 64220 byte(s)
Diff to previous 31136
From Mattias Ellert and Axel:
use LD_LIBRARY_PATH if libMetaTCint cannot be loaded from --prefix directory.
Fixes Savannah #59942.

Revision 31136 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 12 21:25:38 2009 UTC (5 years, 2 months ago) by pcanal
File length: 64098 byte(s)
Diff to previous 31054
Prevent a process abort (due to a call to Fatal) when we are missing the
dictionary for (one of) the content of an STL collection when this collection
is 'only' use has a transient member.
This fixes issue #58397 in savannah.

Revision 31054 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 9 16:39:20 2009 UTC (5 years, 2 months ago) by rdm
File length: 64007 byte(s)
Diff to previous 30751
In include/RConfigOptions.h define a string with all features available
in this version of ROOT as found/set in configure. This string is the same
as the one returned by "root-config --features". At run-time this feature
string is available via gROOT->GetConfigFeatures(). Using a strstr() on
this string one can quickly find out if e.g. the alien plugin was built.

Revision 30751 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 15 16:45:32 2009 UTC (5 years, 3 months ago) by pcanal
File length: 63990 byte(s)
Diff to previous 30102
Extend the fix in revision r30527 (Avoid reporting I/O error for members 
of a class that is used only for a transient member (Fix LHCb problem))
by passing the request to skip the warning message to the TClassGenerator.
The concrete implementation of TClassGenerator need to be upgraded to
take advantage of this new feature.

Revision 30102 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 10 21:16:51 2009 UTC (5 years, 4 months ago) by pcanal
File length: 63748 byte(s)
Diff to previous 30099
Avoid infinite recursion in some case of using of 'long long' introduced in revision 30099

Revision 30099 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 9 18:20:58 2009 UTC (5 years, 4 months ago) by pcanal
File length: 63722 byte(s)
Diff to previous 29046
It TROOT::LoadClass, try resolving the typedef before attempting the autoload .. thus avoid unnecessary loads when using the static libraries

Revision 29046 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 17 05:46:54 2009 UTC (5 years, 7 months ago) by pcanal
File length: 63282 byte(s)
Diff to previous 28693
Break potential infinite recursion in TROOT::FindSTLClass

Revision 28693 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 22 17:09:08 2009 UTC (5 years, 8 months ago) by pcanal
File length: 62734 byte(s)
Diff to previous 28300
Alleviate end of process problem that depends on the order of library unload by stopping to emit signal sooner

Revision 28300 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 21 07:41:23 2009 UTC (5 years, 9 months ago) by brun
File length: 62727 byte(s)
Diff to previous 28196
From Axel:
For builds with both CINT5 and 7 enabled:
* do not (wrongly) redeclare ::LoadLibrary; its official declaration is already included anyway.
* Add -DR__BUILDING_CINT7 to metautils' CINT7 files.
Fixes SPI nightlies.

Revision 28196 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 14 09:36:20 2009 UTC (5 years, 9 months ago) by rdm
File length: 62787 byte(s)
Diff to previous 27600
in case ROOTLIBDIR is set (with --prefix installation), use that to find
libCint7 and not ROOTSYS. Fixes issue 49167.

Revision 27600 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 25 08:17:22 2009 UTC (5 years, 10 months ago) by brun
File length: 62717 byte(s)
Diff to previous 27087
From Matthew Strait:
* Fix spelling and grammar errors
* Fold long lines so they don't spill off the right side
* Add spaces for readability
* Standardize notation and style within sections.

Revision 27087 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 5 17:27:17 2009 UTC (6 years ago) by pcanal
File length: 62721 byte(s)
Diff to previous 25427
From Axel:
TROOT::LoadClass() does not need to check for classname anymore, now that CINT
can determine itself whether a library has already been loaded or not. Fixes
Savannah #40550.

Revision 25427 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 16 22:07:02 2008 UTC (6 years, 4 months ago) by pcanal
File length: 62705 byte(s)
Diff to previous 24423
Re-enable support for the rootrc configuration 'Root.ZipMode'

Revision 24423 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 20 14:47:08 2008 UTC (6 years, 7 months ago) by rdm
File length: 62656 byte(s)
Diff to previous 24077
From Axel:
Allow --enable-cint7 to build CINT7 in parallel to CINT5.
This builds root7.exe, rootcint7, cint7 which will pick up libCint7.
CINT includes are now in include/cint and include/cint7. Many #include
statements changed because of that. We still provide backward compatible
wrapper headers in include/ pointing to the include/cint ones.
Dictionaries for CINT5 and CINT7 are now (mostly) compatible.
When --enabled-cint7, TCint for CINT5 is in libMetaTCint and TCint for CINT7
is in libMetaTCint_7. The classes' source is identical for now (except for the
cases marked with #ifdef R__BUILDING_CINT7); they pick up different CINT
implementations, though.
Without --enable-cint7, TCint.o is linked into libCore, just like it used to
be. With --enable-cint7, TROOT() dlopens libMetaTCint / libMetaTCint_7,
depending on which libCint the binary is linked against (determined via
G__cint_version). TCint contains and sets a global factory pointer that
creates the appropriate TCint object for TROOT.

The cintdlls are built for CINT5 and CINT7 separately, cintdlls.mk is
included twice, with different contexts set by cint/Module.mk and cint7/Module.mk.

--enable-/--disable-cint7 (i.e. (TCint.o in libCore vs libMetaTCint)
triggers a re-build of TROOT.o

Remove dependency from TGWin32ProxyDefs to bare CINT
Add implementation of G__alloc_tempobject_val to cint5
Add a rule how to build C-dictionaries, needed for G__c_stdfunc.c.

No rootmap entries for TCint - CINT should never ever try to autoload it.
It's either linked anyway or we dlopen it by hand.

Revision 24077 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat May 31 19:39:09 2008 UTC (6 years, 7 months ago) by brun
File length: 60771 byte(s)
Diff to previous 23917
Extend the TInterpreter class to support the CINT API used so far by ROOT.
The concrete implementation of the class is in TCint.
The new functions are essentially interfaces to the existing CINT C++ classes
like G__ClassInfo, G__CallFunc, G__DataMemberInfo, G__MethodInfo, G__TypeInfo
and G__TypedefInfo. Most of these functions will call the Reflex interface
once the CINT/Reflex interface will be available later this year.
All direct calls to CINT are replaced by calls like gCint->ClassInfo_xxx where gCint
points to the TCint implementation.
The existing calls to TCint via gInterpreter are kept because on Windows
gInterpreter does not call directly TCint, but instead call TWin32InterpreterProxy
that in turns call TCint.
On Linux and Mac, gInterpreter and gCint are equivalent.

Once the transformation using gCint will be completed, it will be possible
to specify at startup time which version of CINT (CINT or CINT7) by loading
dynamically TCint or TCint7.--This line, and those below, will be ignored--

M    core/meta/src/TStreamerElement.cxx
M    core/meta/src/TCint.cxx
M    core/meta/src/TGlobal.cxx
M    core/meta/src/TBaseClass.cxx
M    core/meta/src/TDataMember.cxx
M    core/meta/src/TInterpreter.cxx
M    core/meta/src/TClass.cxx
M    core/meta/src/TMethodArg.cxx
M    core/meta/src/TDataType.cxx
M    core/meta/src/TMethodCall.cxx
M    core/meta/src/TIsAProxy.cxx
M    core/meta/src/TMethod.cxx
M    core/meta/src/TFunction.cxx
M    core/meta/inc/TClass.h
M    core/meta/inc/TDictionary.h
M    core/meta/inc/TMethodArg.h
M    core/meta/inc/TDataType.h
M    core/meta/inc/TMethodCall.h
M    core/meta/inc/TMethod.h
M    core/meta/inc/TFunction.h
M    core/meta/inc/TCint.h
M    core/meta/inc/TGlobal.h
M    core/meta/inc/TBaseClass.h
M    core/meta/inc/TDataMember.h
M    core/meta/inc/TInterpreter.h
M    core/thread/src/TThread.cxx
M    core/base/src/TVirtualFitter.cxx
M    core/base/src/TStorage.cxx
M    core/base/src/TQConnection.cxx
M    core/base/src/TROOT.cxx
M    core/base/src/TSystem.cxx
M    core/base/src/TQObject.cxx
M    core/rint/src/TRint.cxx
M    core/rint/src/TTabCom.cxx
M    math/foam/src/TFoam.cxx
M    math/minuit2/src/TFitterMinuit.cxx
M    math/mathcore/src/FunctorCint.cxx
M    math/minuit/src/TMinuit.cxx
M    tree/tree/src/TTree.cxx
M    tree/tree/src/TSelectorCint.cxx
M    tree/tree/src/TSelector.cxx
M    tree/tree/inc/TSelectorCint.h
M    roofit/roofitcore/src/RooGenCategory.cxx
M    roofit/roofitcore/src/RooWorkspace.cxx
M    hist/hist/src/TF1.cxx
M    gui/guibuilder/src/TGuiBldDragManager.cxx
M    net/alien/inc/TAlienSystem.h

Revision 23917 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 19 23:25:05 2008 UTC (6 years, 8 months ago) by rdm
File length: 60620 byte(s)
Diff to previous 22961
on MacOS X use _dyld_get_image_name() to get the pathname of libCore,
based on this patname we set ROOTSYS (if not in ROOTPREFIX mode).
So the user does not have to set ROOTSYS anymore. Trying to do the same
for the other platforms.

Revision 22961 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 3 13:32:57 2008 UTC (6 years, 9 months ago) by rdm
File length: 60616 byte(s)
Diff to previous 22812
move the directories:
  base clib cont meta metautils newdelete pcre rint thread unix utils
  winnt zip
under the new core meta directory.

Revision 22812 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 21 00:32:13 2008 UTC (6 years, 10 months ago) by pcanal
Original Path: trunk/base/src/TROOT.cxx
File length: 60616 byte(s)
Diff to previous 22792
Explicitly mentioned that TROOT::Reset should not be used from within a function

Revision 22792 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 20 15:35:39 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 60171 byte(s)
Diff to previous 21592
in dtor call TQObject::BlockAllSignals(), so no signals, typically
"Removed" signals, are emitted from TFileHandlers, etc. In this far state
of destruction the emission of signals will cause bad side effects or
crashes.

Revision 21592 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 8 17:28:47 2008 UTC (7 years ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 60099 byte(s)
Diff to previous 21464
From Gerri:
      - Remove unused inclusion of TAuthenticate.h

Revision 21464 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 18 17:00:16 2007 UTC (7 years, 1 month ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 60126 byte(s)
Diff to previous 20935
move R__CONFIGUREOPTIONS, only used in TROOT.cxx, from RConfigure.h, which
is included by a large number of source files. The R__CONFIGUREOPTIONS are
now stored in RConfigOptions.h, which is only include in TROOT.cxx.
In RConfigOptions.h also the R__RUBY_MAJOR and R__RUBY_MINOR are stored
and included in drr.cxx. This change only forces a recompile of TROOT.cxx
(and maybe drr.cxx) when doing e.g.:
./configure --enable-roofit
make
./configure
make  [ here we used to compile all dictionaries again as rootcint
        depends on RConfigure.h ]

Revision 20935 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 20 17:39:33 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 60098 byte(s)
Diff to previous 20894
Remove gcc 4.2 compiler warnings.

Revision 20894 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 13:37:30 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 60094 byte(s)
Diff to previous 20832
From Axel:
fix small memory leak.

Revision 20832 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 15 22:16:27 2007 UTC (7 years, 2 months ago) by pcanal
Original Path: trunk/base/src/TROOT.cxx
File length: 60039 byte(s)
Diff to previous 20796
remove windows end of line

Revision 20796 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 14 02:39:41 2007 UTC (7 years, 2 months ago) by pcanal
Original Path: trunk/base/src/TROOT.cxx
File length: 60040 byte(s)
Diff to previous 20151
Speed up ROOT::GetFunction when the argument null

Revision 20151 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 1 13:34:51 2007 UTC (7 years, 3 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 59981 byte(s)
Diff to previous 19826
add new methods:
  TROOT::GetSvnRevision()  -- returns svn current revision number
  TROOT::GetSvnBranch()    -- returns svn current branch name
  TROOT::GetSvnDate()      -- returns date time of built
the methods are used in TRint to print in the ROOT welcome message.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 58261 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 58309 byte(s)
Diff to previous 19601
remove :$ from tag line

Revision 19601 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Aug 12 16:23:14 2007 UTC (7 years, 5 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 58319 byte(s)
Diff to previous 19514
add to Macro() optional argument Bool_t updatePad=kTRUE. When kFALSE
gPad->Update() is not called. Avoid having to set gPad to 0 before calling
Macro() which can be defeated when the macro causes gPad to be reset.

Revision 19514 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 1 21:42:53 2007 UTC (7 years, 5 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 58180 byte(s)
Diff to previous 19510
in IgnoreInclude() now only ignore shared libraries, as other .C files
may contain class definitions.

Revision 19510 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 1 17:32:40 2007 UTC (7 years, 5 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 58021 byte(s)
Diff to previous 19379
in IgnoreIncludes() reject files with extensions not containing .h*.
Solves a problem with an endless loop incase an .so had the same name
as the class name, e.g. Tetris.so.

Revision 19379 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 17 16:30:26 2007 UTC (7 years, 6 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 57936 byte(s)
Diff to previous 19373
in LoadClass() add check to make sure that the found library does
not happen to be a directory.

Revision 19373 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 17 14:43:18 2007 UTC (7 years, 6 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 57769 byte(s)
Diff to previous 19362
Updated TPluginManager. Plugin handlers can now be specified wia macros
in a list of plugin directories. These new features are implemented via
two new methods described below. These changes are fully backward compatible
and plugin descriptions in rootrc files still work. However, using the new
macros we only load in program memory the handlers for the needed plugins,
instead of the almost 100 handlers of all plugins. For example after starting
root.exe, only these handlers are loaded:

root [0] gPluginMgr->Print()
=====================================================================
Base                 Regexp        Class              Plugin
=====================================================================
TSystem              ^rfio:        TRFIOSystem        RFIO
TSystem              ^castor:      TRFIOSystem        RFIO
TSystem              ^dcache:      TDCacheSystem      DCache
TSystem              ^dcap:        TDCacheSystem      DCache
TSystem              ^alien:       TAlienSystem       RAliEn
TSystem              ^root:        TXNetSystem        Netx
=====================================================================
6 plugin handlers registered
[*] plugin not available
=====================================================================

For more see below:


void TPluginManager::LoadHandlersFromPluginDirs(const char *base)

Load plugin handlers specified via macros in a list of plugin
directories. The $ROOTSYS/etc/plugins is the default top plugin directory
specified in $ROOTSYS/etc/system.rootrc. The macros must have names
like <BaseClass>/PX0_<PluginClass>.C, e.g.:
   TFile/P10_TRFIOFile.C, TSQLServer/P20_TMySQLServer.C, etc.
to allow easy sorting and grouping. Macros not beginning with 'P' and
ending with ".C" are ignored. If base is specified only plugin macros for
that base class are loaded. The macros typically should look like:

   void P10_TDCacheFile()
   {
       gPluginMgr->AddHandler("TFile", "^dcache", "TDCacheFile",
          "DCache", "TDCacheFile(const char*,Option_t*,const char*,Int_t)");
   }

In general these macros should not cause side effects, by changing global
ROOT state via, e.g. gSystem calls, etc. However, in specific cases
this might be useful, e.g. adding a library search path, adding a specific
dependency, check on some OS or ROOT capability or downloading
of the plugin.


Int_t TPluginManager::WritePluginMacros(const char *dir, const char *plugin)

Write in the specified directory the plugin macros. If plugin is specified
and if it is a base class all macros for that base will be written. If it
is a plugin class name, only that one macro will be written. If plugin
is 0 all macros are written. Returns -1 if dir does not exist, 0 otherwise.
This method allows the regeneration of the entire tree of plugin macros
in case we ever decide to change something in the macros.

Revision 19362 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 17 12:05:45 2007 UTC (7 years, 6 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 57758 byte(s)
Diff to previous 18966
In TROOT::GetColor always call TColor::InitializeColors

Revision 18966 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 6 22:41:23 2007 UTC (7 years, 7 months ago) by pcanal
Original Path: trunk/base/src/TROOT.cxx
File length: 57724 byte(s)
Diff to previous 18765
Fix https://savannah.cern.ch/bugs/?26996 by finishing the fix 1.209
(In ProcessLineFast, we need to use the copy of the argument since
the application init uses the Form buffer)

Revision 18765 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 14 10:18:30 2007 UTC (7 years, 8 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 57724 byte(s)
Diff to previous 18749
From Ilka:
The attached patch fixes the crash in TROOT dtor when using .q while
the ROOT browser is active. The crash comes from additional deletion
attempt of GUI elements in TQSlotPool dtor.

Revision 18749 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 11 15:25:40 2007 UTC (7 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 57761 byte(s)
Diff to previous 18730
Temporarily comment out the destruction of the list of Browsers in the TROOT destructor.
The GUI classes must be fixed before reactivating this line.

Revision 18730 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 10 18:16:58 2007 UTC (7 years, 8 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 57723 byte(s)
Diff to previous 18720
don't use an inline function as TVersionCheck ctor but provide an
implementation in TSystem.cxx. This should prevent linkers from
collapsing the inlines.

Revision 18720 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 10 15:06:22 2007 UTC (7 years, 8 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 57704 byte(s)
Diff to previous 18703
add plugin version checking. Each library contains a static initializer of
the new TVersionCheck class that registers its version number. This
version number is checked in TSystem::Load() against the version of the
ROOT Core. In case of mismatch Load() returns -2 and prints the error:

Error in <TUnixSystem::Load>: version mismatch, /Users/rdm/root/lib/libRIO.so = 51506, ROOT = 51507
(int)(-2)

The TVersionCheck.h is included via TObject.h so it works without change
of Makefiles. A number of Module.mk's were fixed because they were using
pre-compiled headers (which include TObject.h and hence TVersionCheck.h)
while they were not linking against libCore.

Revision 18703 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 9 09:39:18 2007 UTC (7 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 56971 byte(s)
Diff to previous 18514
In the TROOT destructor, delete a few more collections like: fFunctions, fColors, fStyles, fGeometries, fBrowsers and fMessagehandlers. This minimizes the complaints from valgrind
when exiting from ROOT.
Note that we still do not delete fClasses, fTypes, fGlobals to avoid nasty effects
with the order of destruction of these objects.

Revision 18514 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 18 14:28:10 2007 UTC (7 years, 9 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 57164 byte(s)
Diff to previous 18250
small simplification in LoadClass() using TString.

Revision 18250 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 13 15:35:00 2007 UTC (7 years, 10 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 57360 byte(s)
Diff to previous 18109
remove leading blanks from lines passed to ProcessLineXXX().

Revision 18109 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 28 18:10:40 2007 UTC (7 years, 10 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 57851 byte(s)
Diff to previous 18052
From Axel:
* Name TROOT collections.
* Re-enable TCint's special handling and cleanup, now with caching.

Revision 18052 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 22 09:42:03 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 57293 byte(s)
Diff to previous 17965
Add a missing ";" when calling TF1::InitStandardFunctions() in TROOT::GetFunction.

Revision 17965 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 15 15:04:05 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 57291 byte(s)
Diff to previous 17934
  -Remove static member fgMakeDefCanvas
  -Replace static function TROOT::GetMakeDefCanvas returning a pointer
    to a function creating a canvas (in fact TCanvas::MakeDefCanvas)
    by a direct call via CINT to TCanvas::MakeDefCanvas.
  -The static function TROOT::SetMakeDefCanvas has been removed.

Revision 17934 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 13 14:27:43 2007 UTC (7 years, 11 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 57693 byte(s)
Diff to previous 17855
comments.

Revision 17855 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 10 15:38:41 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 57696 byte(s)
Diff to previous 17853
Do not call anymore R__SetZipMode(1) in TROOT.
It is the default value in the zip package.

Revision 17853 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 10 13:37:53 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 57641 byte(s)
Diff to previous 17810
Do not initialize gRandom in TROOT but in TRandom3.
With this change, there are no more dependencies of base on the math library.

Revision 17810 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 9 08:24:06 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 57776 byte(s)
Diff to previous 17567
Use TVirtualStreamerInfo instead of TStreamerInfo when calling TClass::GetClass
to find the TStreamerInfo version number.

Revision 17567 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 29 15:53:35 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 57769 byte(s)
Diff to previous 17561
-Replace calls to gROOT->GetClass by TClass::GetClass
-Remove unused references to TROOT.h

Revision 17561 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 29 15:10:49 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 57718 byte(s)
Diff to previous 17541
-Add include "TROOT.h" in all implementation files that were assuming
that TROOT was included via TClass.h


-In TClass.h:
 --Remove the include of TROOT.h
 --add the following static member
   static IdMap_t    *fgIdMap;          //Map from typeid to TClass pointer

 --add the following functions:
   static void           AddClass(TClass *cl);
   static void           RemoveClass(TClass *cl);

 --Replace the inline definitions of GetClass functions by
   template <typename T> TClass* GetClass(      T**       /* dummy */) { return GetClass((T*)0); }
   template <typename T> TClass* GetClass(const T**       /* dummy */) { return GetClass((T*)0); }

-In TClass.cxx:
 --Instead of forwarding the calls to gROOT->GetClass, move the code
  originally in TROOT in the TClass::GetClass functions
 --Move class TMapTypeToTClass from TROOT to TClass.

Revision 17541 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 28 18:29:53 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64537 byte(s)
Diff to previous 17512
-Replace the calls to TVirtualIO by new calls in TBuffer or TDirectory

Revision 17512 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 25 11:52:29 2007 UTC (8 years ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64566 byte(s)
Diff to previous 17414
 -The inclusion of TFile.h and TMapFile.h has been removed.
 -TROOT::FindObjectAny calls TVirtualIO::FindObjectAny

With these changes TROOT is now independent of the I/O sub-system.

Revision 17414 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 21 06:52:00 2007 UTC (8 years ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64690 byte(s)
Diff to previous 17372
Remove vms directory and references to R__VMS except from RConfig.h

Revision 17372 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 17 11:55:01 2007 UTC (8 years ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64885 byte(s)
Diff to previous 17362
From Axel:
This patch forwards the return value for TROOT::ProcessLine*(),
implements it as a return value to TMacro::Exec(), and fixes the
constructor for TMacro(filename). The old algorithm failed e.g. for
./whatever.C ("whatever.C" would have been the file name). Make doc a
bit more explicit.

Revision 17362 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 16 14:40:27 2007 UTC (8 years ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64749 byte(s)
Diff to previous 17053
Fix problem with MacroPath and DynamicPath expansion in case the paths
are extended via ~/.rootrc and/or ./.rootrc files. Fixes issue 22954.

Revision 17053 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 6 10:19:14 2006 UTC (8 years, 1 month ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64747 byte(s)
Diff to previous 17014
handle the case where the MacroPath TEnv resource was extended by the user
in a private .rootrc file.

Revision 17014 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 1 11:50:14 2006 UTC (8 years, 1 month ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64637 byte(s)
Diff to previous 16945
cleanup.

Revision 16945 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Nov 25 09:07:59 2006 UTC (8 years, 2 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 68272 byte(s)
Diff to previous 16796
Remove depency on class TVirtualUtilHist

Revision 16796 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 16 17:18:32 2006 UTC (8 years, 2 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 68748 byte(s)
Diff to previous 16414
Changes to get rid of the config.h and HAVE_CONFIG define. These were way
too trivial (just do a locate config.h to see how many there are):
- replace occurances of config.h by RConfigure.h
- add #warning in config.h that is should not be used
- change HAVE_CONFIG to R__HAVE_CONFIG

Revision 16414 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 3 13:31:07 2006 UTC (8 years, 3 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 68747 byte(s)
Diff to previous 16358
Fix number of white-space issues and double forward declarations.

Revision 16358 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 27 17:36:14 2006 UTC (8 years, 3 months ago) by pcanal
Original Path: trunk/base/src/TROOT.cxx
File length: 68742 byte(s)
Diff to previous 16082
Prevent infinite loop when executing gROOT->GetClass("ROOT::std::Blah")

Revision 16082 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 22 18:25:32 2006 UTC (8 years, 5 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 68657 byte(s)
Diff to previous 15978
From Matevz:
Replace TList with THashList for fCleanups.

Revision 15978 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 10 21:58:00 2006 UTC (8 years, 5 months ago) by pcanal
Original Path: trunk/base/src/TROOT.cxx
File length: 68650 byte(s)
Diff to previous 15931
Make sure that
   gROOT->GetClass("vector<std::pair<Char_t, UChar_t>")
always find its dictionary (It is registered in the TClassTable
as vector<pair<char,unsigned char> >).

Revision 15931 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Aug 6 02:04:12 2006 UTC (8 years, 5 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 68423 byte(s)
Diff to previous 15817
Remove the Proof() method. Start PROOF via TProof::Open().

Revision 15817 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 17 19:19:11 2006 UTC (8 years, 6 months ago) by pcanal
Original Path: trunk/base/src/TROOT.cxx
File length: 69014 byte(s)
Diff to previous 15742
From Scott Snyder:
Fix a couple of memory leaks.

Revision 15742 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jul 9 05:27:55 2006 UTC (8 years, 6 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 68893 byte(s)
Diff to previous 15488
From Eddy:
Fix many typos in comments

Revision 15488 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 20 13:21:24 2006 UTC (8 years, 7 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 68888 byte(s)
Diff to previous 15176
Set the default ZipMode to 1 (to use the new ZIP algorithm).
ROOT will automatically detect the old or new mode. The code to support
both modes was introduced 3 years ago.
The new ZIP algorithm gives slightly better compression and is also
slightly faster.

Revision 15176 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 26 09:27:12 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 68888 byte(s)
Diff to previous 15134
Fix coding conventions violations

Revision 15134 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 23 04:47:42 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 68731 byte(s)
Diff to previous 15092
From Federico Carminati:

"I have implemented all copy and equal operators needed to silence all
warnings in AliRoot, as requested. I have implemented shallow copies as
would do the default operators synthetized by the compiler.
Most operators are protected. If users complain, you just have to move
them into the public area, but class derivation is of course supported.
It has been a terrible job, I have modified 278 files, but the changes
are backward compabile, and this goes a long way to permitting user to
use the effc++ flag with root headers."

Revision 15092 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 18 07:34:25 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 65254 byte(s)
Diff to previous 14986
Fix coding conventions violations

Revision 14986 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 10 14:07:40 2006 UTC (8 years, 8 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 65227 byte(s)
Diff to previous 14912
exit if ROOTSYS is not set (in case not compiled with --prefix). Also check
for TSystem::HomeDirectory() not returning 0.

Revision 14912 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 4 13:03:36 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64822 byte(s)
Diff to previous 14860
In the TROOT constructor, the default random number generator (gRandom)
is set to TRandom3 instead of TRandom.

Revision 14860 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 27 09:20:33 2006 UTC (8 years, 8 months ago) by couet
Original Path: trunk/base/src/TROOT.cxx
File length: 64818 byte(s)
Diff to previous 14745
- Two new functions:
  SetEscape(Bool_t): is called when ESC is pressed in XXX::ExecuteEvent methods
  IsEscaped: returns the last value set by SetEscape

Revision 14745 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 19 08:22:26 2006 UTC (8 years, 9 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64790 byte(s)
Diff to previous 14566
Change the TError.h macros:
Assert   ->  R__ASSERT
Check    ->  R__CHECK
Change the TCollection.h macro:
ForEach  ->  R__FOR_EACH
This to avoid potential problems due too trivial macro names.
The old macros will be removed in the next release. Currently
they will print out warning messages with the advice to move
to the new macro names.

Revision 14566 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 6 13:47:57 2006 UTC (8 years, 9 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64789 byte(s)
Diff to previous 14334
From Axel:
This patch reduces "root.exe -l -b -q example.C" from 9G instructions
to 2.7G instructions.

Modifications:
TROOT: classes, types, globals, global funcs, funcs, class generators
       are now TCollections, not TSeqCollections. fClasses, fGlobals,
       fGlobalFunctions, fTypes are now THashTables, not THashLists. Remove now
       happens instantaneously.
TEnv: pre-alloc string for parsing

Revision 14334 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 20 21:39:11 2006 UTC (8 years, 10 months ago) by pcanal
Original Path: trunk/base/src/TROOT.cxx
File length: 64791 byte(s)
Diff to previous 13895
Call TClass::PostLoadCheck once the dictionary for TClass has been
completely loaded.  For now this is used to check the consistency
with previously read TStreamerInfos

Revision 13895 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 23 18:06:44 2006 UTC (9 years ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64573 byte(s)
Diff to previous 13833
typo in comment.

Revision 13833 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 17 09:55:38 2006 UTC (9 years ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64574 byte(s)
Diff to previous 13681
From Gerri:
Move TROOT::Proof() code to TVirtualProof::Open(). To start PROOF do either
TVirtualProof::Open() or TProof::Open() (which will work correctly due to
the autoloader facility).

Revision 13681 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 13 10:12:02 2005 UTC (9 years, 1 month ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 67570 byte(s)
Diff to previous 13616
From Gerri:
Writing the notes I realized that the attach functionality of gROOT->Proof(...)
could be automatized, such that it attaches to the first session on the master,
if any:

   gROOT->Proof("masterhost")     // attach to first session, if any, or create one

   gROOT->Proof("masterhost/?N")     // force creation of new session

   gROOT->Proof("masterhost/?2")     // attach to session 2

In the standard case in which there is only a session this gives a very convenient
way of reconnecting.

I have fixed also a small problem with setting of fUser and fRemoteProtocol
for the second slave on a node.

Revision 13616 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Dec 10 16:51:57 2005 UTC (9 years, 1 month ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 67117 byte(s)
Diff to previous 13356
From Gerri:
introduction of major new PROOF features. Main features:
- PROOF session manager which allows disconnect/reconnect from running
  sessions
- use xrootd/xproofd as connection daemon
Much more extensive description in release notes.

Revision 13356 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 24 23:30:06 2005 UTC (9 years, 2 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 66383 byte(s)
Diff to previous 13258
Remove code of obsolete win32old version. Cleanup source from the many
GDK_WIN32 ifdef's. Fixes also Gordon's problem of TInterpreter which
depended on GDK_WIN32.

Revision 13258 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 16 20:11:59 2005 UTC (9 years, 2 months ago) by pcanal
Original Path: trunk/base/src/TROOT.cxx
File length: 66611 byte(s)
Diff to previous 13127
White spaces and comments update

Revision 13127 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 3 23:03:13 2005 UTC (9 years, 2 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 66333 byte(s)
Diff to previous 13026
correct white space.

Revision 13026 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 27 10:00:41 2005 UTC (9 years, 2 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 66350 byte(s)
Diff to previous 13013
some white space fixes according to new coding checker warnings.

Revision 13013 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 25 19:30:30 2005 UTC (9 years, 3 months ago) by pcanal
Original Path: trunk/base/src/TROOT.cxx
File length: 66444 byte(s)
Diff to previous 12971
Make sure that gROOT::GetClass returns the same TClass object even if
there is a missing or extra space in a class template instantiation name
(eg one<two<three>> vs one<two<three> >)

Revision 12971 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 17 14:21:26 2005 UTC (9 years, 3 months ago) by pcanal
Original Path: trunk/base/src/TROOT.cxx
File length: 66157 byte(s)
Diff to previous 12816
When encountering a template with Long64_t, try both the name with 'long long' and with Long64_t

Revision 12816 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 22 22:31:32 2005 UTC (9 years, 4 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 65892 byte(s)
Diff to previous 12722
when doing gROOT->Proof() without arguments and not in batch mode popup
the Session Viewer.

Revision 12722 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 16 08:48:39 2005 UTC (9 years, 4 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 65544 byte(s)
Diff to previous 12492
From Gerri:
Big patch supporting query queueing on the PROOF master, interogation and
interaction with the queue. Retrieval, finalization and archival of query
results and multiple PROOF sessions. Some other fixes:
- TMacro.h, .cxx
  add method Checksum to get the MD5 of the current context
  (needed for optimized selector reinitialization)

- Changes needed to create and fill the list of data sets (TROOT,
  TDSet, TChain, TChainProof)

- A new method TSelector::IsStandardDraw() to check if a selector
  is for standard draw actions

- TEventIter: fix for the missing last update (see above)

- Few protections in TPacketizers destructors

- Fix for code conventions in TPerfStats (the other will follow)

- Occasional missing last update of the progress bar (systematically
  reproduced with SetParallel(1)): all this part is quite involved
  and I have found a solution which does not harm but perhaps is not
  the most elegant.

- SetParallel(0): the progress bar was not working at all in such a
  case, since no packetizer is involved. Still it is useful to see
  that things are not stuck, so I have added some progress messages
  there too. The problem is that I have not found a way to get the total
  number of entries from a data set without doing all the machinery
  done in the packetizer.

Revision 12492 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 16 15:58:15 2005 UTC (9 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64880 byte(s)
Diff to previous 12485
Add new member
  Bool_t  fExecutingMacro;
with the corresponding getter and setter functions.

This flag is set in TMacro::Exec and tested in TROOT::Reset.

Revision 12485 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 16 12:56:26 2005 UTC (9 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64821 byte(s)
Diff to previous 12428
In TROOT::Reset do not reset the CINT globals when
the member fIslineProcessing is kTRUE.
This is required by the coming class Tmacro.

Revision 12428 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 2 16:43:21 2005 UTC (9 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64785 byte(s)
Diff to previous 12337
From Ilka:
- removed comments in the code of TROOT::Reset
- fixed typos in the example provided in TControlbar.cxx

Revision 12337 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 18 16:20:53 2005 UTC (9 years, 6 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64790 byte(s)
Diff to previous 12336
From Gerri:
Big patch restructuring the authentication code so libCore does not depend
on libssl etc. anymore. Isolate the current authentication code behind a
plugin library to be loaded on demand.
Setup of a framework able to manage both sets of authentication modules
(the current one and the one based on xrdsec, coming soon).
Cleanup all direct reference to authentication in TSlave and TProofServ,
allowing for significant simplification for the forthcoming changes
in PROOF for XPD.

New module: auth

New files: base/inc/TVirtualAuth.h
           auth/Module.Mk
           auth/inc/LinkDefRoot.h
           auth/inc/TRootAuth.h auth/inc/TRootSecContext.h
           auth/src/TRootAuth.cxx auth/src/TRootSecContext.cxx

Moved files:
   net/inc -> auth/inc : TAuthenticate.h THostAuth.h DaemonUtils.h AuthConst.h
   net/src -> auth/src : TAuthenticate.cxx THostAuth.cxx DaemonUtils.cxx

Revision 12336 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 18 15:56:41 2005 UTC (9 years, 6 months ago) by pcanal
Original Path: trunk/base/src/TROOT.cxx
File length: 64876 byte(s)
Diff to previous 12247
Add support for the short form 'unsigned' to mean 'unsigned int' in the TDataType system

Revision 12247 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 5 12:36:07 2005 UTC (9 years, 6 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64829 byte(s)
Diff to previous 12232
From valeriy Onuchin:
- new class TImagePlugin is introduced;
 To add possibility to read/write new image format one needs to create
 a derived class and to override two methods:
   virtual unsigned char *ReadFile(const char *filename, UInt_t &w,UInt_t &h)
   virtual Bool_t WriteFile(const char *filename, unsigned char *argb,
                             UInt_t w, UInt_t  h)
   ... and to specify it in the root resource file:

Plugin.TImagePlugin:  ps    TASPluginGS   ASPluginGS   "TASPluginGS(const char*)"
the name of plugin    file extension      DLL containing an implementation of
TImagePlugin subclass

- new class TASImagePlugin that is a subclass of TImagePlugin with ASImage
specific implementations;

- new class TASPluginGS - an image plugin class that allows to create images from
PS/EPS/PDF files and to display them in TCanvas/TPad. In addition, it allows to
browse PS/EPS/PDF files with the ROOT browser.

New files:
asimage/inc/LinkDefGS.h
asimage/inc/TASImagePlugin.h
asimage/inc/TASPluginGS.h
asimage/src/TASPluginGS.cxx

graf/inc/TImagePlugin.h

icons/pdf.xpm
icons/tb_find.xpm

libAfterImage.tar.gz

- TROOT.h
    o new data member fClipboard and corresponding getter GetClipboard();
      TSeqCollection  *fClipboard;           //List of clipboard objects;

- TGFrame
    o embedded frames resized correctly now.

- TGCanvas
    o several useful methods made public

- TGListBox, TGComboBox
    o new method FindEntry(const char *s) added which returns entry by name

- TGMdiMainFrame, TGMdiDecorFrame
    o fix bug which changed text color globally
    o add displaying scroll bars when mdi frame is moved out of mdi
      canvas viewport

- TGTextEdit/TGView, guitest
   o added processing of:
     2-clicks - selects a word
     3-clicks - selects a line
     4-clicks - selects the whole text
   o change  the key handling
     Ctrl-F - invokes Search dialog
     Ctrl-L - invokes Goto line dialog
     Correspondent changes  added to guitest.C and guitest.cxx (TextEdit test)
   o readonly mode added

- TGSearchDialog
   o Text entry was replaced by "text entry" combobox. It allows to
     "remember" a history of entered search strings.
   o new static method TGSearchDialog *&gDialog() introduced. It returns
     a global search dialog.
   o Search method - display warning message box when object is not found

- TRootBrowser, mime.types
   o  possibility to browse PS/EPS/PDF fies added
   o possibility to browse text files added. The content of text file
     appears in "icon box" window (a la netscape)
   o "Search" tool bar button added. It activates the "search dialog" for
     searching a specified icon or text when a text file is browsed.

- TGuiBldEditor.
  o fix bug which changed text color globally

Revision 12232 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 1 08:51:17 2005 UTC (9 years, 6 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64800 byte(s)
Diff to previous 12177
cleanup since ROOT_RELEASE_DATE and ROOT_RELEASE_TIME are now always
defined in RVersion.h.

Revision 12177 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 23 20:51:14 2005 UTC (9 years, 7 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64956 byte(s)
Diff to previous 12145
From Constantin:
fixes the problem with the global mutex in an efficient way consistent
with the way the local mutexes are implemented.

Revision 12145 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 23 10:53:32 2005 UTC (9 years, 7 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64973 byte(s)
Diff to previous 12128
fix segv in ~TROOT() due to mutexes already been deleted and recreated in
the dtor while the mutex factory is also already deleted.

Revision 12128 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 23 06:24:27 2005 UTC (9 years, 7 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64834 byte(s)
Diff to previous 12123
From Constantin Loizides
Use global Mutex instead of class static member

Revision 12123 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 22 20:18:12 2005 UTC (9 years, 7 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64850 byte(s)
Diff to previous 12117
From Constantin Loizides

This patch implements:
- decentralized, automatic mutex initialization,
  see R__LOCKGUARD2 in TVirtualMutex
- PROOF parallel startup fixes
- more thread protection (in base, cont, meta, rest to be done)
- cleanups

From Eddy Offermann:
TString::Atoi and Atof are made const.

Revision 12117 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 22 17:01:55 2005 UTC (9 years, 7 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64626 byte(s)
Diff to previous 11962
Move #include "RConfig.h" as the first include.
This is necessary on Alpha/cxx where the coming RConfig.h
sets tehdefines R__ANSISTREAM.
With this fix Reflex, Cintex and Roofit compiles on alpha.

Revision 11962 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 3 14:50:10 2005 UTC (9 years, 7 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64605 byte(s)
Diff to previous 11825
add new methods GetBuiltDate() and GetBuiltTime(). The existing methods
GetVersionDate() and GetVersionTime() report now the date/time the version
was created (i.e. when "make version" is run).

Revision 11825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 19 14:56:01 2005 UTC (9 years, 8 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64312 byte(s)
Diff to previous 11540
TROOT::Macro() returns now a Long_t which can contain a pointer also on
64bit machines.

Revision 11540 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 10 08:05:32 2005 UTC (9 years, 9 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64312 byte(s)
Diff to previous 11335
Modify TROOT::FindObject to automatically call FindObjectAny
when the argument "name" contains at least one "/".
With this change, the comments in TFolder are OK.

Revision 11335 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 14 17:23:27 2005 UTC (9 years, 10 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64164 byte(s)
Diff to previous 11304
move PROOF session up in browser, previous change was only in folder list
not in browsables.

Revision 11304 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 11 15:32:13 2005 UTC (9 years, 10 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64163 byte(s)
Diff to previous 11281
Move the list of PROOF sessions up in the browser, such that
the list of files always appear last as before

Revision 11281 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 10 17:57:05 2005 UTC (9 years, 10 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64163 byte(s)
Diff to previous 11047
From Marek Biskup:
major new PROOF developments:
 - access to PROOF directly via the TChain interface (creating a TDSet
   in the background).
 - access to PROOF based trees via the TTreeViewer
 - fully implemented the TChain/TDSet::Draw() interface.
 - PROOF sessions can now be browsed via the TBrowser

Revision 11047 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 7 18:02:37 2005 UTC (9 years, 11 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 63985 byte(s)
Diff to previous 10979
From Maarten and Kristjan Gulbrandsen:
Here is the patch with the restructured PROOF code. It parameterizes
PROOF startup, currently implementing "Standard", Condor, MLM and PEAC.
It can easily be extended with other "TProof" classes, e.g. AliEn Proof.
Or what ever next Grid implementation or scheduler comes along.

The MLM, Multi Level Master, code uses a basic packetizer, based on a
MSD (massstorage domain) tag. In MLM mode we have multi-tier client
server setup, like:

client -> super master -> sub master 0 -> slave[0..N]
                          ...
                       -> sub master M -> slave[0..N]

It also contains a large number of smaller fixes. Credit for most of
the work goes to Kris!

We have tested this on multipe platforms (RH7.3, RH9, SL3) and in
multiple configurations. Should be stable.

Revision 10979 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 25 07:24:16 2005 UTC (10 years ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 63436 byte(s)
Diff to previous 10947
From Philippe:
There was a missing TDataType object (needed by the new
TTree::CheckBranchAddress).

Revision 10947 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 18 21:04:17 2005 UTC (10 years ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 63393 byte(s)
Diff to previous 10737
From Philippe:
This patch resolve a few issues when loading a library implementing an STL
container after opening a file containing an instance of this STL container.
Depending of the circunstances this lead to either an infinite recursion or
an incorrect collecton proxy.

This patch also resolves completely the issue related to using namespace
statement. Aka you can now properly do:
       using namespace MySpace;
       gROOT->GetClass("ClassWithingMySpace");

Revision 10737 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 9 15:40:46 2004 UTC (10 years, 1 month ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 62918 byte(s)
Diff to previous 10604
The ZIP functions have been modified in such a way that one can test
dynamically the new zlib as an alternative to the current zip functions.


To activate the new zlib it is enough to set Root.ZipMode = 1
in the system.rootrc file.
When setting Root.ZipMode to 1 (or 0) it is possible to read files
written with the old zip function.
Files written with Root.ZipMode=1 can only be read by versions
of Root >= 4.02/00.

A new function R__SetZipMode has been added in zip/Bits.h.
This function is called by TROOT::InitSystem with the value specified
in system.rootrc.

Some performance tests (on a P4 2.4GHz) show that
the new zlib version is as fast as the current ROOT zip functions when
writing and up to 10 per cent faster when reading.
                          oldzlib            newzlib
Event 1000 1 0   1         11.59s             11.46s
Event 1000 1 0  20          3.83s              3.31s
Event 1000 1 99  1         10.44s             10.98s
Event 1000 1 99 20          3.57s              3.17s
stress -b 30               13.01s             12.35s
stress -b 1000             61.67s             58.38s
bench                     151.99s            151.56s
stressLinear               35.87s             35.77s

Revision 10604 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 23 16:26:34 2004 UTC (10 years, 2 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 62748 byte(s)
Diff to previous 10410
Add a protection in TROOT::GetFunction in case the file system.rootrc is not
found (or processing a very old version)

Revision 10410 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 26 08:08:35 2004 UTC (10 years, 3 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 62738 byte(s)
Diff to previous 10254
The list of colors is now named "ListOfColors"
The list of colors is saved with the canvas list of primitives.
The name is used to retrieve the list in the reading program.

Revision 10254 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 8 07:27:24 2004 UTC (10 years, 3 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 62704 byte(s)
Diff to previous 10246
From Philippe:
This patch insures that when the process is terminated (for example with
.q) the TFile objects are closed before any of the libraries have been
unloaded.  Without this protection on some platform (for example windows),
the TStreamerInfos in a file that has not been closed before the termination
can be incorrect.

Revision 10246 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 7 17:07:56 2004 UTC (10 years, 3 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 62698 byte(s)
Diff to previous 10230
From Philippe:
This patch adds support for the case where stl class are prefixed with std::
(happens in some classes of nested template).
Also handle the fact that std::string can be handled even-though it is not a
collection (in the sense that it does not have a TVirtualCollectionProxy)
and does not have a ShowMembers.
Resolve the problem (on windows) where the dictionary header file was
refering to std containers without the prefix (by insuring that using
namespace std is done early enough).

Revision 10230 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 6 10:31:19 2004 UTC (10 years, 3 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 62266 byte(s)
Diff to previous 9694
From Philippe
This patches allows gROOT->GetClass("std::string") and
gROOT->GetClass("std::vector<int>") to return the correct TClass object
(i.e. by ignoring the std:: prefix).

Revision 9694 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 9 15:35:52 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 61950 byte(s)
Diff to previous 9679
From Valeriy Onuchin and Timur  Pocheptsov
New OpenGL interface should be now operational on Linux and Windows

Revision 9679 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 4 20:55:22 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 62012 byte(s)
Diff to previous 9677
Temporarily disable fInterpreter in the list of Cleanups.
This had a huge effect on performance.

Revision 9677 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 4 20:23:23 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 62010 byte(s)
Diff to previous 9676
From Philippe:
This patch adds the TInterpreter object to the list of cleanups.
This allows for the removal of global variable created in the CINT
global environment which are deleted by a Canvas. (See For
example test/Hello.cxx).

Revision 9676 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 4 14:47:31 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 61976 byte(s)
Diff to previous 9651
From Philippe
Fix a problem affection the python interface.
When we fixed a problem to avoid an infinite recursion when a .rootmap
file was pointing to an entity without a TClass, we actually also
disable the regular case :(

Revision 9651 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 2 08:52:54 2004 UTC (10 years, 5 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 61941 byte(s)
Diff to previous 9633
remove code related to MacOS 9 this was never really supported and has
been obsoleted by full MacOS X support.

Revision 9633 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 30 14:19:46 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 62040 byte(s)
Diff to previous 9536
From Axel Naumann:
Fixes a recursivity problem in TROOT::LoadClass.
i.e. explicitely deny GetClass to re-try loading the class - we are
already in LoadClass, and if loading the class failed now it's not going
to work the next time.

Revision 9536 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 16 23:06:23 2004 UTC (10 years, 6 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 62026 byte(s)
Diff to previous 9520
From Philippe:
The autoloading induced by gROOT->GetClass("TLorentzVector")
was happening too late.

In order to properly implement it I needed to add to CINT
a new function G__set_class_autoloading() to enable and disable
the autoloading.

I also update TROOT.cxx and TCint.cxx to do the load at
the proper time.

Revision 9520 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 14 11:45:20 2004 UTC (10 years, 6 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 61943 byte(s)
Diff to previous 9290
in TROOT::Idle() allow now a 0 or empty command string since in addition
to a command one can now connect slots to the idle handler signal.

Revision 9290 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 22 18:47:17 2004 UTC (10 years, 7 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 62065 byte(s)
Diff to previous 9268
From Philippe:
TXmlBuffer.cxx:
Update IncrementLevel and DecrementLevel to call their TBuffer
counter-part.

TStreamerInfo.h:
Increase the class version to allow backward compatibility test
(STL containers of pointer to a class not inheriting from TObject
but with a ClassDef.)

TXmlBuffer.cxx TStreamerInfo.cxx
formatting updates

rootcint.cxx TROOT.cxx
Made sure that the version number of a STL continer's TClass is
always the same as TStreamerInfo's class version.
Fix a backward compatibility problem with STL containers of
pointer to a class not inheriting from TObject but with a ClassDef.

Revision 9268 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 21 09:49:28 2004 UTC (10 years, 7 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 62050 byte(s)
Diff to previous 8938
on linux and fbsd use -pthread option for compiling and linking instead
of -D_REENTRANT and -lpthread.

Revision 8938 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat May 15 07:31:18 2004 UTC (10 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 62050 byte(s)
Diff to previous 8937
#include <io.h> must be specified for WIN32 to use function isatty

Revision 8937 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat May 15 00:34:22 2004 UTC (10 years, 8 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 62015 byte(s)
Diff to previous 8834
reintroduce the usage of the ROOTDEBUG shell variable to set gDebug. This
feature got lost in the merge of 13-Nov-2003 (1.105 -> 1.06).

Revision 8834 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 10 08:03:54 2004 UTC (10 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 62014 byte(s)
Diff to previous 8737
From Valeriy Onuchin:
-call "fCanvases->Delete();    SafeDelete(fCanvases);" at TROOT destructor
 only for "old win32". That fixes "printing gdk warning messages on root[].q"

Revision 8737 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 29 09:58:58 2004 UTC (10 years, 8 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 61988 byte(s)
Diff to previous 8522
don't make it an error in LoadClass() when the library is already loaded.
Fixes an issue with the TCint::AutoLoadCallback().

Revision 8522 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 30 21:14:11 2004 UTC (10 years, 9 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 61971 byte(s)
Diff to previous 8411
use R__WIN32 instead of WIN32 for consistency.

Revision 8411 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 16 16:15:46 2004 UTC (10 years, 10 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 61942 byte(s)
Diff to previous 8394
load libTreePlayer before loading libProof in the Proof() method.

Revision 8394 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 12 21:45:27 2004 UTC (10 years, 10 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 61790 byte(s)
Diff to previous 8239
From Philippe:
This patches prevents a confusion due to possible aliasing of STL container of Long64_t.

This patches also transform TClassEdit from a class with only static member to a namespace.
(The same should be done for TMath).

This allow some simplication by allowing the usage of
        using namespace TClassEdit;
which removes the need to always use TClassEdit:: to refer to the functions.

Revision 8239 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 19 00:11:19 2004 UTC (10 years, 11 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 61580 byte(s)
Diff to previous 8233
Big authentication patch by Gerri:
General purpose:
Add support for 'authenticated' sockets on client side
and prepare for support of server authenticated sockets.

Main changes:

o TSocket, TPsocket:
  Added support of 'authenticated' sockets: authentication
  is delegated to TSocket by calling a static method
  CreateAuthSocket() returning a TSocket*.
  TSocket is now the only class calling TAuthenticate.

o TFTP, TNetFile, TSlave:
  modified to cope with new socket authentication scheme.

o TAuthDetails replaced by TSecContext containing:
  - local authentication info
  - expiration time
  - pointer to a security context for the method (if any)
  - information for cleanup (via TSecContextCleanup)

o A list of valid TSecContext has been added to TROOT,
  accessible via gROOT->GetListOfSecContexts().

o THostAuth rewritten using arrays to avoid multiple use
  of 'new'; functionality extended by the addition of
  several new methods.

o TAuthenticate:
  - Loading of information from .rootauthrc has been optimized;
    this allowed to simplify method signatures and drop several
    methods. Also collection and transmission of authentication
    information from TSlave to TProofServ gets simplified by the
    new scheme.
  - Added support for server dependent directives in .rootauthrc
  - Added check for changes in .rootauthrc each time a new
    TAuthenticate is instantiated, so that changes in the file
    are picked-up interactively.
  - Checking for an existing TSecContext (previously TAuthDetails)
    has been improved
  - Improved diagnostics for SshAuth
  - Enlarged support for authentication method indication in protocol:
       UsrPwd: rootup/proofup
          SRP: roots/proofs           (already supported)
         Krb5: rootk/proofk           (already supported)
       Globus: rootg/proofg
          SSH: rootsh/proofsh
       UigGid: rootug/proofug

o GlobusAuth.cxx, Krb5Auth.cxx, SRPAuth.cxx
  - Adapted to new class TSecContext
  - Added support for improved search for reusable TSecContext
  - Drop globals used to store established security contexts
    (saved in TSecContext) and related methods

o Automatic creation of <RootDir>/etc/system.rootauthrc from
  compilation flags; this has priority on old envs
  'Rootd.Authentication' and 'Proofd.Authentication' and is
  superseded by $HOME/.rootauthrc

o Automatic creation of <RootDir>/etc/system.authdaemonrc from
  compilation flags; this is superseded by $HOME/.rootauthrc

o rpdutils:
  - several almost identical methods moved in from rootd/proofd
  - several new methods to simplify manipulation of the
    authentication tab file
  - moved (and improved) check for running of sshd in RpdSshAuth,
    performed only in case of failure (to avoid spurious messages
    printed by sshd in /var/log/messages)

o proofd.cxx, rootd.cxx
  - increased protocol version
  - all initialization stuff (included authentication and
    login) done via RpdInitSession
  - postpone opening of parallels sockets after authentication
    (to solve problem of Kerberos/Globus authentication with
    parallel sockets)(rootd)
  - Fixed problem with kerberos and globus authentication in rootd
    with parallel sockets.

Revision 8233 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 18 20:13:43 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64828 byte(s)
Diff to previous 8197
The following mega patch is from Ilka. She has integrated and further
developed the original classes from Marek Biskup (summer student last year)..
Valeriy Onuchin has also contributed by extending/adapting existing
GUI classes.

Very first prototype of the new pad editor is available for testing and
feedbacks. It was started by Marek Biskup as his project during the
Summer Student Program 2003.
The new pad editor helps ROOT GUI to become closer to the well known
application GUIs; to be user friendly, having easier and faster access
to the ROOT graphics, to be more intuitive. It is embedded in the
TCanvas window every canvas has an editor.
The editor frame is on the left side of the canvas window. The user can
show it via Edit/Editor menu selection. The editor frame contains a set
of picture buttons for selecting well known graphical primitives for
drawing; below them there are widgets for attribute changing. When an
object is selected its name appears with a set of options available for
changing: fill style and color; line style, width and color; text font,
size and style; marker style, size and color.

New Classes:
TGFontTypeComboBox - a combo box with fonts for a choice;
TGLineWidthComboBox - a combo box with line widths;
TGLineWidthLBEntry - list box entry for different line widths
TGLineStyleComboBox - a combo box with line styles;
TGLineStyleLBEntry - list box entry for a line style

TGedEditor - the new editor containing tool-box and attribute frames of
the selected object;
TGedToolBox - frame with picture buttons for a primitive drawing

TGedAttFrame - a base class for all attribute frames
TGedAttNameFrame - a frame showing the selected object name (if exists)
TGedAttFillFrame - a frame showing the fill attributes
TGedAttLineFrame - a frame showing the line attributes
TGedAttTextFrame - a frame showing the text attributes
TGedAttMarkerFrame - a frame showing the marker attributes

TGedPatternFrame - popup window for fill pattern selection
TGedPatternSelector - a button for pattern selection
TGedSelect - service class for selecting
TGedPopup - service class for popup attribute window
TGPatternSelect - a button for selected pattern
TGedMarkerPopup - popup window for marker selection
TGedMarkerSelect - a button for selected marker

Several changes are made in TCanvas, TPad, TRootCanvas to adapt them for
the new GUI interface. The old GUI interface is kept and it can be used
too. The class TPadEditorOld provides its functionality.

Revision 8197 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 13 16:34:41 2004 UTC (10 years, 11 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 64961 byte(s)
Diff to previous 8191
add new option "root -config" which prints the environment variables and
options used by ./configure. This allows us to see which non-defaults were
used when configuring ROOT.

Revision 8191 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 13 07:12:57 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64970 byte(s)
Diff to previous 8098
From Philippe:
This patch repairs several issues dealing with loading a library
and a corresponding root file when they define/contain stl containers.

TROOT.cxx:
   The dictionary loading has a recursive behavior which implies
that some entry are actually loaded several time (mostly harmless
but hard to prevent).  This leads to a case where the const char*
is modified during the loading of the dictionary.

TClass.h and TClasss.cxx:
   Add the following convenience static functions:
      TClass::GetClass  equivalent to gROOT->GetClass
      TClass::GetDict   equivalent to TClassTable::GetDict
   Fix a problem where the TClass object stored in the current
class TStreamerInfo were not refreshed when the TClass object
was replace.  The fix is to insure that the current TClass is
in the listOfClasses when the replacement might happen

TTree.cxx and TStreamerInfo.cxx
   If an stl container is a base class, it ends up with a
TStreamerInfo on the file.  However TStreamerInfo for stl
containers are not always built.   Anyway the StreamerInfo
is not used.  So it should not be on the file (fix in TTree).
However for backward compatibility we now handle the case in
BuildCheck.

Revision 8098 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 31 08:59:09 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64868 byte(s)
Diff to previous 8091
Reintroduce Philippe's patch, now corrected for several machines.
stress, bench and DrawTest.sh runs correctly.
Still problem in running DrawTest.sh on SGI (cc,gcc,kcc). Likely due
to an alignement problem with the handling of the new type Double32_t

Revision 8091 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 30 08:12:57 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64607 byte(s)
Diff to previous 8087
Withdraw all changes made since yesterday night.
The changes were unfortunately introduced withouth enough testing.

Revision 8087 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 29 23:08:16 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64868 byte(s)
Diff to previous 8056
From Philippe:
This patch should resolve completely the issue discovered by Minos (related to
typename being typedefs).  It also repairs the I/O for fixed size array of
TObject.

TString:
        add constructor and operator= taking a std::string argument

TROOT:
        GetClass now properly resolve templateClass<typedef>.
      Previously the typedef resolution was restricted to the full name.

TClassTable:
        Look for an existing TClass directly in TROOT::fListOfClasses to
        avoid the potential loading behavior of TROOT::GetClass

TCint::UpdateClassInfo
        Also look for possible alias name in the list of TClass objects.
        In particular, depending on the load order of libraries and file,
        the Emulated class for container<int> might be container<Int_t> or
        vce et versa.

TClass::Init
        When we have a templated class, also look for existing Emulated
        class which may have a different name.

TStreamerElement/TStreamerInfo
        Use the name with resolved typedef in the TStreamerElement.
        Also repair the I/O for fixed size array of TObjects.

TClassEdit:
        Add a utility to resolve the typedefs inside a typename.
        This resolution has 2 modes.  One where it resolved all
        typedefs which should be used to compare 2 typename and
        establish equality.  A second where it resolved all
        typedefs __except__ for the ROOT integral type typedefs,
        this version is used to create the typename that will be
        save on file.  This is necessary to avoid the replacement
        of (for example) Long64_t by its platform dependent version.

Revision 8056 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 27 19:52:48 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 64607 byte(s)
Diff to previous 7880
From Philippe:

This patches improves the consistency of the naming convention for the TClass
of STL containers.  Previous, std::vector<float>, vector<float>, etc. could be
considered as 2 different entities by part of the ROOT code.  This rationalizes these
cases.  It should fix all reported related bugs.

Revision 7880 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 10 10:52:31 2004 UTC (11 years ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 63204 byte(s)
Diff to previous 7637
From Philippe:

This mega patch introduces a new implementation of the STL I/O
which is backward and forward compatible.  In addition this is more
exactly a new implementation or an extension of the container I/O.

We are introducing a new abstract interface:
"TVirtualContainerProxy", which can be implemented to present a
proxy to any collection which the I/O (and TTreeFormula) can use
then transparently.

The TVirtualContainerProxy interface allows to the I/O system to
request some information and to execute some essential function of
the container:
   what kind of object/data does it contain
   does it contain pointers
   how to insert data into the container
   how to retrieve an array of pointer to the elements inside
   how to create a collection object
   how to clear the collection
   how to resize the collection
   how to streamer the collection (if needed)
   how to calculate the sizeof the collection
   how to calculate the number of elements of the collection.

Using those primitives, the I/O and TTreeFormula should be able to
access any collection.   The I/O should also be able to handle the
splitting of collections that can be split (i.e. contains a single
type of object/data).

The current compromise selected between code duplication,
performance of the I/O of TClonesArray and vector of pointers and
the performance of the I/O of other containers, was to have on
function handle all collection as if they were a C-style array of
pointers to data.  This implies for example that the I/O of vector
of object current passes via the construction of temporary array
of pointer.  The cost of this construction is usually ~Qjust~R the
cost of calculating the addresses of the elements and assigning it
to an array element.

Registering a collection proxy will be similar to
     static int dummy = GenerateInitInstance((CollectType*)0x0)-
>AdoptCollectionProxy(new CollectTypeProxy));

Follows a few details on the modifications made to some of the
files and classes.

Bytes.h:
   Work around a problem in the MSVC++ 6.0 optimizer.  This should
not affect other compilers.

String:
   Included the std::string dictionary into G__Base2.cxx, this
insures its presence at all time.
   Added a new file string.cxx holding the streamer for
std::string.

RConfig.h
   Added proper ansi stream configuration for AIX, KCC
   Added template specialization defect for MSVC

TBrowser
   Start adding the ability to browser non TObject classes

TBuffer
   To handle the reading and writing array of objects, added:
     Int_t    CheckByteCount(UInt_t startpos, UInt_t bcnt, const
TClass *clss, const char* classname);
     Int_t    CheckByteCount(UInt_t startpos, UInt_t bcnt, const
char *classname);
     void     ReadFastArray(void  *start , TClass *cl, Int_t n=1,
TMemberStreamer *s=0);
     void     ReadFastArray(void **startp, TClass *cl, Int_t n=1,
Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0);
     void     WriteFastArray(void  *start,  TClass *cl, Int_t n=1,
TMemberStreamer *s=0);
     Int_t    WriteFastArray(void **startp, TClass *cl, Int_t n=1,
Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0);

TROOT
   Enhancement to make the access to gROOT not dependent for the
library loading order.  In particular we added:
      ROOT::GetROOT()
   which should be used instead of gROOT.

   Improve support for STL.  In particular, now STL containers do
have a corresponding TClass object


TRealData
   Replace SetStreamer by AdoptStreamer that allow to use not only
a streamer function but also streamer object (allowing streamer
with a state for Foreign classes)

TString:
   Improve streamer performance

TSystem:
   More consistency of the return value of TSystem::CompileMacro

build/unix/makecintdlls.sh
   Stop making the string.dll

config:
   enhance sgicc makefiles

cont:
   fix TBits::operator=
   TClassTable now warns for duplicate only for non stl classes
   TClonesArray fix a typo

gpad:
   Add a new class TInspectObject to enable inspect non TObject
classes
   TRootBrowser : enable inspect non TObject classes

TFormula/TTreeFormula
   To enhance performance switch from using one array fOper which
contained the operation code and its arguments to using 2 arrays
fActions and fActionParams to store respectively the operation and
its parameters.
   A new function Convert is used to convert old version from the
fOper to fActions.  This allows cleaner coding and offer
optimization opportunities.

TTreePlayer
   Start adding support in MakeClass for STL containers.

TRint/TProofServ
   Insure the loading of the string support

Event.cxx
   make sure to avoid memory over-write

stress.cxx
   Add new parameters
      stress <nevent> <style> <subbench> <portion>
   if <subbench> is 1 or higher, print the benchmark results after
each test.  This allows understand
   which test is affect by a performance change.
   portion is a binary field to indicate which test to run.  This
allows to focus on a particular test.

TVirtualCollectionProxy
   Abstract interface used to access any type of containers from
the I/O system and TTreeFormula. See TVectorProxy and
TEmulatedVectorProxy for examples.

TEmulatedVectorProxy
   Implementation of a std::vector proxy to be able to read a
std::vector without any libraries.

TVectorProxy
   Implementation of TVirtualCollectionProxy for a std::vector for
which we have the library.

TStreamerInfo.cxx
   Split in 3 files:  TStreamerInfo.cxx
TStreamerInfoReadBuffer.cxx TStreamerInfoWriteBuffer.cxx

   All the ReadBuffer, ReadBufferClones and the new ReadBufferSTL
(similarly for  WriteBuffer) have been factorized into one
function and 2 short wrappers.  The new main function expect an
array of pointer to the objects (this array is most often of size
one).

   TClonesArray objects pass GetObjectRef(0) to the common
ReadBuffer
   vector<bla*> v pass &(v[0])
   vector<bla> needs to create an intermediary array to hold the
address

   This mechanism is sometimes not optimal (vector<blah>) but
allows extremely flexibly and extension.  Basically, to add
support for a new container type using the StreamerInfo mechanism
(in particular allows splitting), one 'just' need to implement a
TVirtualCollectionProxy, which, in particular, will return an
array of address to the object it contains.  Even std::map can be
handled with this mechanism, since, for I/O purposes, it can be
consider as a container of pairs.

   Add a few optimization, including more caching via a new array
of a new struct (fComp).

   Fixed a problem (re)introduced while implementing the Foreign
class CheckSum.  Doing:
      class Event;
      f = new TFile("Event.root");
   resulted in errors.

TCint
   Add proper support for TClass of STL containers. Fix a memory
leak.
   Add support for load TClass via a typedef.
   Fix a problem with multiple inheritance

TClass
   Fixed a problem (re)introduced while implementing the Foreign
class CheckSum.  Doing:
      class Event;
      f = new TFile("Event.root");
   resulted in errors.
   Add a

TClass/TGenericClassInfo/TDataMember
   Add support for a new interface (TVirtualCollectionProxy)
useable for STL containers or any user defined containers.
   Add support for streamer with are objects (as opposed to free
standing function or methods).  This allows the user a greater
flexibility in writing a streamer.
   Add a few optimizations
   Add CanSplit to answer the question for a whole Class (for
example some collection can not be splitted).

TClassStreamer
   New class to wrap a class wide streamer

ClassStreamerFunc_t
   typedef for a class wide streamer function

TMemberStreamer
   New class to wrap a specific class member streamer

MemberStreamerFunc_t
   typedef for  a specific class member streamer function

RootStreamer
   Macro to specify a free standing streamer object or function
for a class
   For example:
      RootStreamer(string,std_string_streamer);

TStreamerElement:
   A couple of optimization/simplification.
   Add support for the new STL I/O
   Extend the useful

TBranchElement:
   add a connection to the proper TVirtualCollectionProxy
   add support for STL containers (non-split and split mode)

TTree
   Make the function TTree::GetMakeClass NON-virtual for better
efficiency
   Add support for STL containers

TBasket
   Left (in comment) a yet unproved improvement proposed by
Victor.  The preliminary tests were inconclusive performance wise
and it had (seemingly) problem with backward and forward
compatibility.

TBranch
   Performance improvements

metautils
   This is a new package for C++ files shared between rootcint and
meta.
   It contains TClassEdit a class to help determine some property
of a class given its class name (stl, template, etc).

utils
   Introduced a new file RStl.cxx to start separating rootcint in
modules.
   Modified rootcint to support the new STL I/O methods.
   In particular a new class RStl is in charge of doing the
generating of code for STL containers.

Revision 7637 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 24 10:51:55 2003 UTC (11 years, 2 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 60849 byte(s)
Diff to previous 7585
From valeriy Onuchin:

I updated several base and win32gdk classes.
The goals of these changes are:
 - providing thread safety for CINT and canvas graphics
 - improve perforamnce

The list of the changes.

  win32gdk:
    - new TGWin32Interpreter class introduced. Along with
      redefinition of gInterpreter global that allows to have thread-safe
      interface to CINT functions and methods.
    - TGWin32Proxy class renamed to TGWin32VirtualXProxy and
       modified in "not-radical way".
    - TGWin32ProxyBase.cxx contains "howto create proxy class".

 canvas thread-safety:
   - locking methods added to TCanvasImp, TRootCanvas and TCanvas
     classes. That prevents from simultanious canvas updating from
     different threads.

The results:
   - overall improvement of thread safety and stability of win32gdk version
   - improved performance. benchmarks.C 15-20%, some cases (3D graphics)
     more than 30%.

Revision 7585 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 13 15:25:55 2003 UTC (11 years, 2 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 60768 byte(s)
Diff to previous 7582
fix compilation error in TROOT::Proof().

Revision 7582 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 13 15:15:11 2003 UTC (11 years, 2 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 60719 byte(s)
Diff to previous 7492
From Andreas Peters:
updated TGrid and related classes, and updated TAlien plugin for the AliEN grid.
To build the TAlien plugin one needs to install the AliEn client API lib.
How the basic TGrid class works with AliEn is described in the file
README/README.ALIEN.
Also provided is a Grid/AliEn controlled distribtution and startup system
for PROOF. This uses the TGridProof/TAlienProof classes and the LFN/PFN
information in the TDSet to find the AliEn sites where the data resides.
On these sites PROOF daemons (proofd) are started by AliEn (using an
interactive submission queue). Once the proofd's are running standard
PROOF is started which then connects to these proofd's. After that the
user performs his analysis, like on a local PROOF cluster.

Revision 7492 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 29 11:50:00 2003 UTC (11 years, 2 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 60913 byte(s)
Diff to previous 7462
don't print an Info message in TROOT about the used debug level when
stderr is not connected to a terminal (in the proof master the printing
went on the socket instead and caused a lockup due to protocol corruption).

Revision 7462 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 23 15:31:27 2003 UTC (11 years, 3 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 60900 byte(s)
Diff to previous 7250
support ROOTDEBUG environment variable, its value is used to set gDebug
at startup and overrides the value in a rootrc file. Convenient to quickly
turn on debug mode in TROOT startup.

Revision 7250 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 10 15:14:57 2003 UTC (11 years, 4 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 60694 byte(s)
Diff to previous 7220
From Philippe: fixes an ordering issue in the TROOT constructor.
Printing an error, requires the class sub-system to be initialized.

Revision 7220 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 5 12:55:11 2003 UTC (11 years, 4 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 60691 byte(s)
Diff to previous 7175
Fix a typo in the documentation of TROOT::RemoveClass (thanks Ilka)

Revision 7175 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 29 10:41:28 2003 UTC (11 years, 4 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 60687 byte(s)
Diff to previous 7046
modified files, part of the authentication and daemon changes by Gerri. This
new authentication scheme supports, the following methods: user/passwd
(but save not clear passwd over wire), ssh, krb5, srp, globus and gui/uid
(like RFIO uses). Everything is documents here:
http://root.cern.ch/root/Auth.html.

Revision 7046 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 6 20:25:05 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 57089 byte(s)
Diff to previous 7030
New version of the win32gdk implementation by Valeriy Onuchin.
This version should be faster.

Revision 7030 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 4 20:07:42 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 57014 byte(s)
Diff to previous 7006
from Philippe:

The current implementation of TROOT::GetGlobalFunction had the side effect of creating the byte code for ALL the cint
global function (even if they crash cint but are never used :)).
Also the current code was different for Windows and Unix.

This provides an implementation that is the same on all platform and does not provokes the cint compilation.

Also it now fully relies on TFunction::GetMangledName which is now cached.  The fact that it is not cached was also
causing problems when the file was reload.

Revision 7006 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jul 26 05:51:55 2003 UTC (11 years, 6 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 59422 byte(s)
Diff to previous 6785
From Philippe
This patch implement the calling of function inside a TFormula for Windows.
The issue is the lookup of the interpreted functions.  For optimization
TROOT relies on comparison with a function address.  Those are not reliable
on windows (a function seemingly can have several different addresses).
The code is currently code guarder by R__WIN32, I suppose we should/could
actually code guard it with R__FUNCTION_ADDRESS_NOT_UNIQUE or something like
that defined in RConfig.h (for the revelant platform).  One question is
whether or not this patch is able needed on MacOS and/or AIX.

also add a method: TMethodCall::IsValid.

Revision 6785 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 25 18:06:45 2003 UTC (11 years, 7 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 58351 byte(s)
Diff to previous 6781
don't yet use namespace ROOT for public classes and interfaces. Will
be done consistently over the whole system at some time in the future.

Revision 6781 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 25 14:34:53 2003 UTC (11 years, 7 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 58378 byte(s)
Diff to previous 6767
From Philippe:

Addition of a new function TROOT::AddClassGenerator(ROOT::TClassGenerator *)
Where all ROOT::TClassGenerator that have registered will be called (in order)
when the usual TROOT::GetClass fails.

Revision 6767 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 23 22:18:37 2003 UTC (11 years, 7 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 57538 byte(s)
Diff to previous 6708
new method TMap::GetTable() to get const access to the hashtable containing
the (key,value) pairs. Using the pointer to this table one can easily
iterate over the TPairs stored in the table. Changed the internal TAssoc
class to TPair to be more inline with STL naming. Provide simple TAssoc
typedef for backward compatibility.

Revision 6708 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 13 06:14:19 2003 UTC (11 years, 7 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 57550 byte(s)
Diff to previous 6704
From Philippe:
this patch repairs TROOT::GetListOfGlobalFunctions,
TROOT::GetGlobalFunctions and TROOT::GetGlobalFunctionsWithPrototypes which were totally broken.
TROOT::GetListOfGlobalFunctions was not allowing function overloading. TROOT::GetGlobalFunctions and
TROOT::GetGlobalFunctionsWithPrototype were always returning
the same functions no matter what.

Revision 6704 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 11 16:09:38 2003 UTC (11 years, 7 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 56304 byte(s)
Diff to previous 6682
Fix by Philippe preventing the creation of a TClass object for long long

Revision 6682 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 4 20:17:37 2003 UTC (11 years, 7 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 56194 byte(s)
Diff to previous 6421
remove empty if statement in FindSpecials().

Revision 6421 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 11 11:48:11 2003 UTC (11 years, 9 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 56215 byte(s)
Diff to previous 6374
Big (unsigned) long long support patch. Following provided:
- basic typedefs in Rtypes.h: Long64_t and ULong64_t
- basic Long64 I/O support in TBuffer
- automatic Long64 I/O support in TStreamerInfo
- Long64 byteswap in Bytes.h
- Long64 type handling in classes like TDataMember, TDataType, TCint,
  TROOT, etc
- Removal of obsolete Long64_t typedefs in many PROOF classes
No changes for non-Long64 data types (no backward incompatibilies).
I/O tested for Long64 basic type, and static and dynamic arrays using
handcoded streamers, rootcint generated streamers and automatic StreamerInfo
streamers.

Revision 6374 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 4 00:39:12 2003 UTC (11 years, 9 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 56111 byte(s)
Diff to previous 6373
make char* arguments in GetInterfaceMethod() and
GetInterfaceMethodWithPrototype() const char*.

In other classes remove now unneeded casts to char*.

Revision 6373 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 4 00:10:16 2003 UTC (11 years, 9 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 56124 byte(s)
Diff to previous 5898
new features in the plugin manager: constructors can now be global functions.
In the rootrc file a global function is specified by starting the ctor with
"::". Also added support for plugin macros, instead of the lib name just
use the macro name (typically myplugin.C). The macro will be searched for in
the standard macro path.

Added new default argument to TROOT::LoadMacro() to check for the macros
existence (symmetric with LoadClass()). Used by the plugin manager to check
if a macro exists.

Revision 5898 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 13 16:46:29 2003 UTC (12 years ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 55650 byte(s)
Diff to previous 5793
initialize the pluginmanager earlier to avoid crash in
TUnixSystem::AccessPathName().

Revision 5793 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 10 19:51:47 2002 UTC (12 years, 1 month ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 55532 byte(s)
Diff to previous 5792
From Philippe:
This patch renables the usage of I/O indirection in TApplication::ProcessLine.
Removes a core dumps and add warnings when parameters are passed when loading a macro (as opposed to executing it).

Revision 5792 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 10 17:26:48 2002 UTC (12 years, 1 month ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 55309 byte(s)
Diff to previous 5790
generalization by Philippe of ACliC argument parsing. New method
TSystem::SplitAclicMode(). Change by me in GetLibraries() to also
allow for non regexp search (solves problem with pathnames containing
regexp characters, like ++).

Revision 5790 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 10 15:14:24 2002 UTC (12 years, 1 month ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 56228 byte(s)
Diff to previous 5717
correctly handle trailing +(+) in Macro() and LoadMacro(). Before we fialed
on path names containing ++, like .../g++/macro.C.

Revision 5717 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 2 18:50:12 2002 UTC (12 years, 1 month ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 55868 byte(s)
Diff to previous 5568
mega patch to remove almost all compiler warnings on MacOS X where the
compiler is by default in pedantic mode (LHCb also like to use this option).
The following issues have been fixed:
- removal of unused arguments
- comparison between signed and unsigned integers
- not calling of base class copy ctor in copy ctor's
To be done, the TGeo classes where we get still many hundred warnings of
the above nature. List forwarded to Andrei.

Revision 5568 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 11 21:21:11 2002 UTC (12 years, 2 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 55847 byte(s)
Diff to previous 5334
Extend TROOT::FindObjectAny to also scan the memory list of all files
in case no object is found in the folder structure.

Revision 5334 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 19 13:54:58 2002 UTC (12 years, 4 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 55529 byte(s)
Diff to previous 5309
proof and treeplayer don't depend on each other anymore, no need to load them
both at the same time.

Revision 5309 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 16 10:57:58 2002 UTC (12 years, 4 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 55526 byte(s)
Diff to previous 5306
introduce abstract PROOF interface TVirtualProof. Also ifdef'ed out the
reference to gProofServ in TDirectory.

Revision 5306 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 16 06:52:33 2002 UTC (12 years, 4 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 55518 byte(s)
Diff to previous 5305
Remove dependency from TGeometry.

Revision 5305 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 16 00:01:57 2002 UTC (12 years, 4 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 55694 byte(s)
Diff to previous 5299
remove TProof processline. Need still to make a TVirtualProof, but that will
come once the Proof interface is stable (in the quite near future).

Revision 5299 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Sep 15 10:16:44 2002 UTC (12 years, 4 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 56833 byte(s)
Diff to previous 5077
Introduce a new abstract interface TVirtualUtilHist and a concrete
implementation TUtilHist.
This removes dependencies from the Hist library in TROOT,TMatrix,TMatrixD,
TVector and TVectorD.
New plugin "TVirtualUtilHist" added to rootrc.in.

A similar system will be introduced for removing the remaining Pad dependencies.

Revision 5077 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 7 11:13:11 2002 UTC (12 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 56403 byte(s)
Diff to previous 5016
Add the list of files to the list of Cleanups.

Revision 5016 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jul 27 13:41:14 2002 UTC (12 years, 6 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 56336 byte(s)
Diff to previous 5005
added method RefreshBrowsers().

Revision 5005 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 24 13:21:08 2002 UTC (12 years, 6 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 55785 byte(s)
Diff to previous 4895
small cleanup of debug code.

Revision 4895 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jul 13 16:19:26 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 55931 byte(s)
Diff to previous 4864
Patch from Philippe:
Whenever a container is added to the list of Cleanups it should either
        a) Have it kMustCleanup bit set
        b) Be remove by hand from the list of Cleanups when being
deleted.
The consequence of NOT doing that is that after its deletion the next
deletion of the next object with kMustCleanup on will fails (core dumps
when trying to access the above mentioned container in the cleanups
list).

Revision 4864 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 9 21:14:30 2002 UTC (12 years, 6 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 55832 byte(s)
Diff to previous 4516
In the constructor create the instance of TProcessUUID pointed by fUUIDs

Revision 4516 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 10 21:32:09 2002 UTC (12 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 55776 byte(s)
Diff to previous 4514
Code cleanup by Philippe

Revision 4514 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 10 11:07:22 2002 UTC (12 years, 8 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 55695 byte(s)
Diff to previous 4498
added define R__GLOBALSTL for the old aCC compiler that has all STL classes
in global namespace. Changed all references to __HP_aCC>=53000 to use this
new define. Also new aCC does not have the R__TEMPLATE_OVERLOAD_BUG anymore.

Revision 4498 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 9 20:22:01 2002 UTC (12 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 55740 byte(s)
Diff to previous 4460
New attempt to introduce the new additions (Philippe) to the I/O system
as well as as the new version of ClassDef/ClassImp.
With the additions to the I/O, it is now possible to generate
a dictionary for classes not instrumented with ClassDef.

Revision 4460 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 6 10:11:08 2002 UTC (12 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 51526 byte(s)
Diff to previous 4446
Revert to the 3.03/05 situation.
The new I/O scheme still requires more work due
to portability problems and the size of the dictionaries.

Revision 4446 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 3 14:30:43 2002 UTC (12 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 55113 byte(s)
Diff to previous 4069
Introduce a long patch by Philippe. With this patch, ROOT I/O
should be able to support foreign not-ROOT instrumented classes.
More information will come later.
This patch is tentatively put in the CVS head to facilitate
testing on all platforms.

Revision 4069 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 23 09:45:25 2002 UTC (12 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 51525 byte(s)
Diff to previous 3801
Add support for fundamental type bool in functions:
  TDataType::setType
  TROOT::GetListOfTypes

Revision 3801 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 28 17:33:27 2002 UTC (12 years, 11 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 51484 byte(s)
Diff to previous 3794
properly initialize err in LoadClass(). Has no influence on StreamerInfo
problem though.

Revision 3794 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 27 16:49:43 2002 UTC (12 years, 11 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 51478 byte(s)
Diff to previous 3791
Remove non-necessary declarations of static functions to remove warnings on aCC
of the style:
Warning 495: "base/src/TROOT.cxx", line 159 # The linkage directive is ignored for an object or function declared static.
       static void CleanUpROOTAtExit();

Revision 3791 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 27 15:53:40 2002 UTC (12 years, 11 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 51529 byte(s)
Diff to previous 3790
added new default argument check=kFALSE to TROOT::LoadClass(). If check
is true LoadClass() only checks for the existence and readability of the
library and does not attempt to load the library. The plugin manager
uses this new functionality in its Print() method to show which plugins
are available.

Revision 3790 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 27 13:57:01 2002 UTC (12 years, 11 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 50850 byte(s)
Diff to previous 3748
use the new TPluginManager. Make sure to rerun ./configure to update
etc/system.rootrc. Call gROOT->GetPluginManager()->Print() to see which
handlers have been defined.

Revision 3748 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 24 11:39:31 2002 UTC (13 years ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 50734 byte(s)
Diff to previous 3742
rename IOSFwd.h and IOStream.h to Riosfwd.h and Riostream.h. The change
is necessary because on Windows which is case insensitive IOStream.h
hides the real iostream.h.

Revision 3742 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 23 17:52:52 2002 UTC (13 years ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 50733 byte(s)
Diff to previous 3659
use IOSFwd.h in headers instead of <iosfwd> or many other ifdef'ed variant
and IOStream.h in the source instead of <iostream[.h]>, <fstream[.h]> and
<iomanip[.h]>.

Revision 3659 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 15 00:48:12 2002 UTC (13 years ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 50733 byte(s)
Diff to previous 3522
change some int's to Int_t's. Correct some comments in Proof() method.

Revision 3522 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 21 12:21:24 2001 UTC (13 years, 1 month ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 50726 byte(s)
Diff to previous 3520
fix LoadMacro() to also work with ACLiC for macro found in macro search path.

Revision 3520 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 21 09:56:25 2001 UTC (13 years, 1 month ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 49683 byte(s)
Diff to previous 3498
fix LoadMacro() to use mac and also set error in case Which() does
not find the macro.

Revision 3498 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 19 07:15:19 2001 UTC (13 years, 1 month ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 49632 byte(s)
Diff to previous 3480
This patch from Philippe gives the user access to the cint error code after an
attempt to 'interpret'.


In particular the following methods have one more optional
parameter:

TApplication::ProcessLine
TApplication::ProcessFile
TObject::Execute
TROOT::ProcessLine
TROOT::ProcessLineFast
TROOT::ProcessLineSync
TROOT::LoadMacro
TROOT::Macro
and
TInterpreter::Execute
TInterpreter::LoadMacro
TInterpreter::ProcessLine
TInterpreter::ProcessLineAsync
TInterpreter::ProcessLineSync
TInterpreter::ExecuteMacro
TInterpreter::Calc
and the corresponding method in TCint.

The extra parameter is a pointer to an int (or a TInterpreter::EErrorCode
when available).  If this pointer is not zero, it will be used to pass
back information on the CINT error status.  The result are defined
in the enum TInterpreter::EErrorCode.

This is the best method of passing the information, because some
of the methods are already returning a result and using a global
variable (i.e. TInterpreter::GetLastErrorStatus) would lead to
indescriptible confusion (remember that there can be several
nested call to ProcessLine including one 'implied' call resulting
from the command line interpretation).

In the asynchronous case, the error status is set to kProcessing until
completion.  The windows part, which consist of reseting the error status
to the proper value upon completion will be implemented in a future patch.

Also LoadMacro and Macro were updated to be able to use ACLiC and
to be able to run named macro.

Revision 3480 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 14 21:04:09 2001 UTC (13 years, 1 month ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 48610 byte(s)
Diff to previous 3359
Optimisation proposed by Philippe in TROOT::GetListOfTypes.
In case the type already exists, there is no need to reload the type information.
Also added a comment in TCINT::UpdateListOfTypes.

Revision 3359 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Dec 2 16:50:08 2001 UTC (13 years, 1 month ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 48342 byte(s)
Diff to previous 3347
From Philippe:
  Update the handling of unloading a library so that
the left over TClass objects are properly marked and
recognized as describing a class for which we do not
have the C++ code (the state is similar but different
from being a 'fake TClass'.

Revision 3347 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Dec 2 15:13:10 2001 UTC (13 years, 1 month ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 48354 byte(s)
Diff to previous 3328
The management of the TProcessIDs has been moved to TProcessID.

Revision 3328 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 29 10:46:46 2001 UTC (13 years, 1 month ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 48566 byte(s)
Diff to previous 3297
Modify the TROOT constructor to use a THashList instead of a TList
for the default directory in memory. This change makes a dramatic
improvement when building thousands of histograms in the default directory.

Revision 3297 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 28 14:50:59 2001 UTC (13 years, 1 month ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 48554 byte(s)
Diff to previous 2948
In the TROOT constructor, initializes the fPID of the newly created TProcessID.

Revision 2948 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 2 16:51:37 2001 UTC (13 years, 3 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 48506 byte(s)
Diff to previous 2935
Start counting processes at 1 instead of 0. This is necessary in case
one opens an old file in update mode (its fProcessCount was 0).

Revision 2935 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 2 08:03:50 2001 UTC (13 years, 3 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 48506 byte(s)
Diff to previous 2912
Two fixes by Jiri Masik in teh TStyle management. Here are the comments from Jiri:
there is an unexpected side effect of the TStyle ctor that it modifies
the current style. For example

gROOT->SetStyle("Plain");
gStyle->SetOptStat(0);
TStyle transp("WSci", "WSci");
cout << gStyle->GetOptStat() << endl;

It prints 1 because gStyle is reset to the newly instantiated style in
TStyle transp("WSci", "WSci"); .

Also TStyle doesn't initialize fAttDate properly I think. The TStyle
relies on the default ctor of TAttText which in turn consults the
current style to obtain values to set. Thus gStyle->SetOptDate(1)
seems not to work as the text may be painted in white on the white
background.

Revision 2912 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 1 14:12:12 2001 UTC (13 years, 3 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 48464 byte(s)
Diff to previous 2910
In The TROOT constructor, force the reference count of the TProcessedID to be 1.
This object should not be deleted.

Revision 2910 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 1 10:38:38 2001 UTC (13 years, 3 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 48372 byte(s)
Diff to previous 2848
Add a new list fProcessIDs. This list contains the list of all TProcessIDs
currently refrenced by all connected files.
The TROOT constructor creates a TProcessID itself.

Revision 2848 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 25 16:14:51 2001 UTC (13 years, 4 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 48163 byte(s)
Diff to previous 2830
check rootrc resource Root.MemCheck and store in fgMemCheck. Add new
static method Bool_t MemCheck() returning kTRUE when memchecker is active.
This is used in NewDelete.cxx to use the memchecker.

Revision 2830 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Sep 22 06:18:21 2001 UTC (13 years, 4 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 47932 byte(s)
Diff to previous 2608
Use option "slow" when deleting the list of files in the TROOT destructor
to avoid double delete, eg when using Tree Friends. (Philippe fix)

Revision 2608 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 27 13:12:03 2001 UTC (13 years, 6 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 47932 byte(s)
Diff to previous 2537
add gROOT->fList, the TROOT in memory directory, to the list of folders so
the directory becomes browsable.

Revision 2537 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 9 00:56:35 2001 UTC (13 years, 6 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 47843 byte(s)
Diff to previous 2439
use kTRUE instead of 1.

Revision 2439 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 22 16:10:23 2001 UTC (13 years, 7 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 47840 byte(s)
Diff to previous 2419
make code more const char* correct (i.e. "strings" must be const char*) and
declare several functions extern "C". Mods by Dave Morrison.

Revision 2419 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jun 17 23:46:08 2001 UTC (13 years, 7 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 47788 byte(s)
Diff to previous 2418
Forgot to add one line from Valery's corrections

Revision 2418 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jun 17 23:08:45 2001 UTC (13 years, 7 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 47752 byte(s)
Diff to previous 2250
Implement the following mods proposed by Valery:
TApplication::TApplication:
   LoadGraphicsLibs() needs gProgFile pointer. That was not assigned.
   The statement "gSystem->SetProgname(fArgv[0])"
   is called too late, namely after LoadGraphicsLibs is called.

   One has to change the order, namely first issue
     if (fArgv) gSystem->SetProgname(fArgv[0]);
   then
     LoadGraphicsLibs()

TROOT::LoadClass
   Did assume "lib" prefix is to be added to the name
   of the Dynamic library name by the OS .This is not case under
   Windows. As result the name of the Windows DLL is not completed
   and DLL file can not be found

TSystem::CompileMacro
   Applied wrong ExpandFileName method rather ExpandPathName
   As result the file name is not generated properly if it contains
   the Windows special symbols.

TSystem::ExapandFileName
   did treat "blank" as a "file separator". As result the file
   name  that with the "blank inside" is not generated properly.

Revision 2250 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 20 17:34:42 2001 UTC (13 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 47797 byte(s)
Diff to previous 2236
In case a Zombie class is detected in TROOT::GetClass, the Zombie class is deleted.

Revision 2236 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 18 16:56:31 2001 UTC (13 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 47681 byte(s)
Diff to previous 2235
Add one more protection in TROOT::IgnoreInclude to avoid a warning message with VisualC++.

Revision 2235 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 18 16:42:21 2001 UTC (13 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 47597 byte(s)
Diff to previous 2228
Add a protection in TROOT::GetInclude when calling strcmp.
With VisualC++, the argument to strcmp cannot be null.
The case with null arguments happen when parsing header files such as iostream.h.

Revision 2228 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 17 10:57:56 2001 UTC (13 years, 8 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 47536 byte(s)
Diff to previous 2153
new static method SetMacroPath() which allows the macropath to be
changed or reset. For example:
   TROOT::SetMacroPath(TString(TROOT::GetMacroPath())+":~/mymacros")
will add the directory "~/mymacros" to the macro search path and
   TROOT::SetMacroPath("")
will reset it to the original value.

Revision 2153 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 9 13:30:01 2001 UTC (13 years, 8 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 47241 byte(s)
Diff to previous 2088
Modify TROOT::GetColor to test if the argument color is in the list of
valid colors.

Revision 2088 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 27 19:06:27 2001 UTC (13 years, 9 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 47153 byte(s)
Diff to previous 2039
Several changes by Philippe in the code dealing with STL and templated classes.

Revision 2039 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Apr 21 17:20:23 2001 UTC (13 years, 9 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 46983 byte(s)
Diff to previous 2034
some more fixes for TROOT creation and destruction.

Revision 2034 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Apr 21 02:57:43 2001 UTC (13 years, 9 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 46985 byte(s)
Diff to previous 2027
move loading of RQ_OBJECT.h file from TROOT to TApplication. The loading
in TROOT could cause problems since at that point not all needed classes
are known to CINT.

Revision 2027 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 20 17:53:18 2001 UTC (13 years, 9 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 47078 byte(s)
Diff to previous 1973
create a local static TROOT object which will make sure the ROOT system is
initialized as soon as its shared libraries are loaded. This removes the
need to initialize TROOT in main programs via a TROOT object.
If needed also create a default TApplication when calling ProcessLineFast().

Revision 1973 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 12 08:21:40 2001 UTC (13 years, 9 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 46450 byte(s)
Diff to previous 1939
In TROOT::GetClass exclude names with "::". When a name has "::", TCint::CheckClassInfo
returns a non null value and a fake class should not be created in this case.
Names with "::" are easily found when processing THtml::MakeClass.

Revision 1939 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 9 15:33:51 2001 UTC (13 years, 9 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 46421 byte(s)
Diff to previous 1914
Speed up TROOT::GetClass. The test on TDataType does not need to be done when a class (fake or not)
has been found.
The loop with references to CINT G__Sruct is now replaced by a call to the new function
TCint::CheckClassInfo.
Before invoking this function, check that the requested class name is not a templated class.

The function GetType has been optimized to take advantage of the THashList.

Revision 1914 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 9 07:56:10 2001 UTC (13 years, 9 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 46468 byte(s)
Diff to previous 1896
Modify the parameters for the classes THashList.
The new list is created with 800 elements by default and with a collision
parameter of 3 instead of 2. This optimizes the search in systems
with many classes.

Revision 1896 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 4 14:03:24 2001 UTC (13 years, 9 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 46468 byte(s)
Diff to previous 1840
Modify TROOT::GetClass. If GetClass fails to find a class in the ROOT class table,
it also looks in the CINT class table for the list of interpreted classes.
If an interpreted class is found, a fake class TClass is created, such that the
StreamerInfo can be built also for interpreted classes without going through rootcint.

Revision 1840 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 21 16:45:18 2001 UTC (13 years, 10 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 46077 byte(s)
Diff to previous 1815
Modify TROOT::GetClass to return a pointer to the "fake" class created by TStreamerInfo
in case the class has no fClassInfo.

Philippe has added some protections in TROOT::GetMacroPath in case this function
is called after having changed the environment gEnv.

Revision 1815 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 14 18:34:23 2001 UTC (13 years, 10 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 46070 byte(s)
Diff to previous 1809
use std C function atexit() to register the cleanup function
CleanUpROOTAtExit(). CleanUpROOTAtExit() checks if the TROOT dtor has
not yet been called and then deletes all objects in the file list, socket
list and mapped file list. An atexit() registered function is called after
a call to exit() or by return from the main() program, but always before
global objects are destroyed.

Revision 1809 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 14 07:51:48 2001 UTC (13 years, 10 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 45544 byte(s)
Diff to previous 1284
fTimer was not initialized in the TROOT constructor. The effect was visible
following the move of the TROOT constructor from a global object to the
main program.

Revision 1284 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 25 12:23:29 2000 UTC (14 years, 1 month ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 45524 byte(s)
Diff to previous 1227
change ROOTMACROPATH to ROOTMACRODIR.

Revision 1227 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 15 18:10:27 2000 UTC (14 years, 1 month ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 45525 byte(s)
Diff to previous 1216
Add logic to correctly rebuild the StreamerInfo in the following situation:
 1- a Root file is open, but the shared lib with the corresponding classes is not yet loaded
 2- the shared lib with the classes is loaded.
When this case happens, the old dummy TClass is deleted and its previous StreamerInfo
structures are moved to the new and valid class.
TROOT::GetClass modified to force teh call to the dictionary builder when the above case
happens.

Revision 1216 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 14 09:11:25 2000 UTC (14 years, 1 month ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 45390 byte(s)
Diff to previous 1205
Change required in TROOT::GetGlobal on NT VisualC++. The compiler does not like
a comparison between a const TObject* and a void*.
Cast both to Long_t to solve the problem.

Revision 1205 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 13 15:13:57 2000 UTC (14 years, 1 month ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 45369 byte(s)
Diff to previous 1102
      W A R N I N G   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     ==================================================================
A very long list of changes in this pre-release of version 3.00.
We have modified the signature of many functions (in particular TObject)
to introduce more constness in the system.
You must change your code if your class derives from TObject and uses
one of the modified functions such as ls, Print, Compare, Hash, etc.
The modified functions in TObject have the following signature:
   virtual TObject    *Clone() const;
   virtual Int_t       Compare(const TObject *obj) const;
   virtual void        Delete(Option_t *option=""); // *MENU*
   virtual void        DrawClass() const; // *MENU*
   virtual void        DrawClone(Option_t *option="") const; // *MENU*
   virtual void        Dump() const; // *MENU*
   virtual TObject    *FindObject(const TObject *obj) const;
   virtual char       *GetObjectInfo(Int_t px, Int_t py) const;
   virtual ULong_t     Hash() const;
   virtual void        Inspect() const; // *MENU*
   virtual Bool_t      IsEqual(const TObject *obj) const;
   virtual void        ls(Option_t *option="") const;
   virtual void        Print(Option_t *option="") const;

A similar operation has been done with classes such as TH1, TVirtualPad,
TTree, etc.

Revision 1102 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Dec 2 15:47:42 2000 UTC (14 years, 1 month ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 45282 byte(s)
Diff to previous 923
new calling sequence for Proof() method.

Revision 923 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 21 16:37:05 2000 UTC (14 years, 2 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 45388 byte(s)
Diff to previous 894
The TObjArray fStreamerInfo is created in the Root constructor and added
to the folder structure.

Revision 894 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 21 12:23:40 2000 UTC (14 years, 2 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 45251 byte(s)
Diff to previous 776
changed invocation of Proof().

Revision 776 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 17 12:23:06 2000 UTC (14 years, 3 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 45232 byte(s)
Diff to previous 623
preload into CINT the RQ_OBJECT.h file containing a #define for the signal
slots mechanism in interpreted mode.

Revision 623 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 11 09:59:27 2000 UTC (14 years, 4 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 45098 byte(s)
Diff to previous 610
Rename fReadingBasket to fReadingObject in TROOT.h
Rename TROOT::ReadingBasket to TROOT::ReadingObject
Rename TROOT::SetReadingBasket to TROOT::SetReadingObject
TROOT::SetReadingObject is now set in TKey::ReadObj
One can test in the default constructors (like TCanvas) if Root is
reading from file or socket.
The TCanvas default constructor has been modified to take advantage
of this change. As a result, the following works:
 root > TCanvas c1

Revision 610 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 8 16:05:22 2000 UTC (14 years, 4 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 45099 byte(s)
Diff to previous 604
collections don't have anymore the concept of parent (should not have been
introduced in the first place). All changes relate to the removal of the
parent in the TList ctor.

Revision 604 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 8 07:34:50 2000 UTC (14 years, 4 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 45224 byte(s)
Diff to previous 571
Several changes in TROOT::FindObject to take advantage of the new folders facility.
New function FindObjectAny

Revision 571 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 5 10:55:30 2000 UTC (14 years, 4 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 44244 byte(s)
Diff to previous 570
Add to implement TROOT::FindObject(TObject *obj) const
to make the SGI/CC compiler happy.

Revision 570 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 5 10:13:10 2000 UTC (14 years, 4 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 44017 byte(s)
Diff to previous 564
Temporary cast introduced in TROOT::FindObject to avoid compilation errors
with some compilers. This function is going to be substantially rewritten
to take advantage of the new TFolder facility.

Revision 564 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 5 09:12:11 2000 UTC (14 years, 4 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 44000 byte(s)
Diff to previous 558
Several changes in the manager class TROOT:
 - a new member TFolder *fRootFolder has been added. fRootFolder is
   the head ("root") of all the Root folders.
   This folder is the first folder in the list of Browsable objects.


 - All collections created by the TROOT constructor are now added to
   the top level folder.

 - The collection fProcesses has been renamed fTasks.

 - The existing function FindObject is now const and has been rewritten.

 - new function added:
   TObject  *FindSpecialObject(const char *name, void *&where);
   This function is called by TCint::FindSpecialObject.

 - The following static functions previously in TObject have been moved
   to TROOT:
   static Int_t       DecreaseDirLevel();
   static Int_t       GetDirLevel();
   static Int_t       IncreaseDirLevel();
   static void        IndentLevel();
   static void        SetDirLevel(Int_t level=0);

Revision 558 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 4 17:47:59 2000 UTC (14 years, 4 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 40493 byte(s)
Diff to previous 505
object can be added to list of browsables without specifying the name
as option. If no name is specified TObject::GetName() will be used.

Revision 505 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 18 21:51:10 2000 UTC (14 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 40357 byte(s)
Diff to previous 503
 Philippe has modified TROOT and TCint destructors to delete the
temporary files craeted by CINT.

Revision 503 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 18 15:45:20 2000 UTC (14 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 40297 byte(s)
Diff to previous 499
minor change in the TROOT constructor for the initialisation of fCutClassName

Revision 499 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 18 13:43:46 2000 UTC (14 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 40200 byte(s)
Diff to previous 498
Move implementation of the new function SetCutClassName to TROOT.cxx
and introduce protections in case of a class not-deriving from TCutG

Revision 498 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 18 13:18:36 2000 UTC (14 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 39449 byte(s)
Diff to previous 487
Implement a new function SetCutClassName(classname) to specify the default
class to be instantiated by the graphics editor. The default class name
is TCutG. The class name specified must derive from TCutG.

Revision 487 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 17 09:25:00 2000 UTC (14 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 39355 byte(s)
Diff to previous 484
The activation of SafeDelete(fInterpreter) in the TROOT destructor has still
side effects. A simple session opening a root file will crash when
the TROOT destructor is called. This line recommented.

Revision 484 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 16 16:49:05 2000 UTC (14 years, 5 months ago) by brun
Original Path: trunk/base/src/TROOT.cxx
File length: 39420 byte(s)
Diff to previous 288
Activate the statement:
   SafeDelete(fInterpreter);
This sattement was disabled because of a crash in CINT destructors.
This problem seems to be fixed with teh new version of CINT.
The reason for activating it, is that cint opens files (like bool.h) that
it closes only when explicitly told (by scratch_all and G__close_inputfiles).
Currently neither is being called at  the end of a ROOT process so a few
files are left open

Revision 288 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 27 15:10:51 2000 UTC (14 years, 7 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 39354 byte(s)
Diff to previous 110
use TList::Delete("slow") to delete the list of mapped files.

Revision 110 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 12 15:44:09 2000 UTC (14 years, 7 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 39358 byte(s)
Diff to previous 3
link now explicitely libGX11TTF with FreeType's libttf.a. Now there is
no need anymore to distribute FreeType includes and library. The only thing
the user needs to do to use TTF fonts is to get the set of font files.

Revision 3 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: trunk/base/src/TROOT.cxx
File length: 39277 byte(s)
Copied from: branches/rdm/base/src/TROOT.cxx revision 2
Diff to previous 2
This commit was generated by cvs2svn to compensate for changes in r2,
which included commits to RCS files with non-trunk default branches.

Revision 2 - (view) (download) (as text) (annotate) - [select for diffs]
Added Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: branches/rdm/base/src/TROOT.cxx
File length: 39277 byte(s)
Initial import of ROOT into CVS

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9