Skip to content
Snippets Groups Projects
  1. Apr 24, 2008
  2. Apr 23, 2008
  3. Apr 22, 2008
  4. Apr 21, 2008
    • Rene Brun's avatar
      Add new member functions · a6da32ac
      Rene Brun authored
         void             SetClass(const char *classname,Int_t size=1000);
         void             SetClass(const TClass *cl,Int_t size=1000);
      Set class is now called from the two TClonesArray constructors.
      The new functions are useful when a TClonesArray is a member of another class and the decision
      about the class to be put in the array can only be taken
      after the construction of the parent class.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@23348 27541ba8-7e3a-0410-8455-c3a389f83636
      a6da32ac
  5. Apr 18, 2008
  6. Apr 16, 2008
  7. Apr 14, 2008
    • Philippe Canal's avatar
      From Paul: · 249d585a
      Philippe Canal authored
      In TDumpMembers::Inspect, avoid knowingly printing
      unprintable characters.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@23214 27541ba8-7e3a-0410-8455-c3a389f83636
      249d585a
    • Fons Rademakers's avatar
      instead of adding two new pure abstract methods, that will break derived · 249c277e
      Fons Rademakers authored
      TIterators, we provide now default implementations that print a proper warning.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@23212 27541ba8-7e3a-0410-8455-c3a389f83636
      249c277e
    • Fons Rademakers's avatar
      From Fabrizio: · 6e016408
      Fons Rademakers authored
      - The implementation of TFile throughput and info sending was
        just sending 'regular' samples about the activity of the single TFile
        instance that happened to trigger an activity in the right moment.
      - Now TMonaLisaWriter keeps internally track of every activity
        and regularly sends summaries valid for all the files which had
        activity in the last time interval.
      - Additionally, it's now finalized the infrastructure able to measure
        and keep track of the file Open latency. A packet is sent for each
        successful Open, sending the measures of the latencies for the
        various phases of the open. Currently exploited fully by TAlienFile
        and TXNetFile. Easy to report from other TFiles too.
      - Now, the hook for the Close() func triggers sending of a packet
        containing various information about the performance related to that
        file only.
      - Added support also for performance monitoring when writing
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@23209 27541ba8-7e3a-0410-8455-c3a389f83636
      6e016408
    • Fons Rademakers's avatar
      From Anar and me: · dd5bdc5a
      Fons Rademakers authored
      The background is the following. While working on the PROOF code I found
      that enumerating TList is an inconvenient and a long operation, I had to
      write the same code all over the place and make duplications. I tried
      to use STD algorithms with it, namely std::for_each, and failed.
      I therefore decided to enable std::for_each algorithm for ROOT 
      Containers/Iterators by making as few as possible changes, without rewriting
      iterators at all. Now with only two simple lines of code one is able to
      iterate through a container:
      
      TIter iter(&list);
      for_each(iter.Begin(), TIter::End(), SEnumFunctor());
      
      or
      
      for_each(iter.Begin(), inter_end, SEnumFunctor());
      
      where iter_end could be an iterator to a middle of the container.
      
      After I had changed Iterators so that they could be used with std::for_each,
      I decided to go further and did some more changes. As a result,
      
        - I have updated CINT implementation of some algorithms (they look now
          more or less better in terms of the standard),
      
        - TList and TObjArray can be now used with std::for_each, std::find_if,
          std::count_if (probably with some more algorithms. I've listed here
          only what has been *checked* by me). Other containers will be supported
          in a next patch.
      
        - A test program has been added: $ROOTSYS/test/stressIterators.cxx
      
        - A tutorial macro has been added: $ROOTSYS/tutorials/cont/TListAndSTL.C
      
      Patch has been verified on Linux, MacOS X, Solaris 10 i386 and Windows.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@23198 27541ba8-7e3a-0410-8455-c3a389f83636
      dd5bdc5a
  8. Apr 11, 2008
    • Fons Rademakers's avatar
      From Axel: · 1879ee00
      Fons Rademakers authored
      The attached patch removed the necessity to define VISUAL_CPLUSPLUS. And
      it gets rid of the warning:
      include\cfortran.h(159) : warning C4005: 'VISUAL_CPLUSPLUS' : macro redefinition
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@23152 27541ba8-7e3a-0410-8455-c3a389f83636
      1879ee00
  9. Apr 08, 2008
    • Philippe Canal's avatar
      fix typo in comment · 6b77c0d0
      Philippe Canal authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@23060 27541ba8-7e3a-0410-8455-c3a389f83636
      6b77c0d0
    • Philippe Canal's avatar
      The array elements can be retrieved with: · 3dfadf0c
      Philippe Canal authored
          TObject *obj = array.At(i);                                        
                                                                             
      By default the TRefArray 'points' to the current process and can only    
      receive object that have been created in this process.                 
      To point the TRefArray to a different process do:                      
          TRefArray array( processId );                                      
                                                                             
      For example, if 'obj' is an instance that was created in the different 
      process and you do:                                                    
          TRefArray array( TProcessID::GetProcessWithUID( obj ) );           
      Then                                                                  
          array.Add(obj);                                                  
      is correct (obj comes from the process the array is pointed to       
      while                                                                
          TObject *nobj = new TObject;                                     
          array.Add(nobj);                                                 
      is incorrect since 'nobj' was created in a different process than the
      one the array is pointed to.  In thi case you will see error message:
           Error in <TRefArray::AddAtAndExpand>: The object at 0x... is not registered in the process the TRefArray point to (pid = ProcessID../....)
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@23059 27541ba8-7e3a-0410-8455-c3a389f83636
      3dfadf0c
    • Philippe Canal's avatar
      Add new (conveninence) function TProcessID::GetProcessWithUID(TObject*) · 09af0c1f
      Philippe Canal authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@23058 27541ba8-7e3a-0410-8455-c3a389f83636
      09af0c1f
    • Fons Rademakers's avatar
      From Eddy: · 6bd32a9e
      Fons Rademakers authored
      Three new methods have been implemented:
      
         Int_t   RescanLibraryMap();
      
      Force a scan along the dynamic path again and load the *.rootmap files
      in case the (DY)LD_LIBRARY_PATH has changed.
      
         Int_t   ReloadAllSharedLibraryMaps();
      
      Reload for the loaded shared libraries their rootmap files.
      This assumes that the library foo.[dll,a,so] has a rootmap named foo.rootmap.
      
         Int_t   UnloadAllSharedLibraryMaps();
      
      Unload the rootmap entries for the loaded shared libraries.
      
      I did not add anything to TSystem::SetDynamicPath() but in principle
      the user should invoke after that operation RescanLibraryMap().
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@23039 27541ba8-7e3a-0410-8455-c3a389f83636
      6bd32a9e
  10. Apr 07, 2008
  11. Apr 06, 2008
  12. Apr 05, 2008
    • Philippe Canal's avatar
      Use the DirectoryAutoAdd facility for the classes: · 70fc8753
      Philippe Canal authored
              TTree, TH1, TEventList, TEntryList, TGraph2D
      (and hence their derived classes).
      
      The instances of those classes are now added automatically 
      to the current directory only when Constructe'd with arguments or Clone'd
      and to the directory they are read from when their are stored
      directly in a TKey. [Note: the default constructor never adds
      the object to the current directory]
      
      The directory auto add can still be disabled for instance
      of TH1 and TGraph2D by setting TH1::AddDirectory.
      
      Additionally one can disable the directory auto add for
      a specific class by doing:
      
          TClass::GetClass("myclass")->SetDirectoryAutoAdd(0)
      
      However you might want to also be able to restore the
      behavior in which case you ought to do:
      
          TClass *cl = TClass::GetClass("myclass");
          ROOT::DirAutoAdd_t func = cl->GetDirectoryAutoAdd();
          cl->SetDirectoryAutoAdd(0);
      
      TROOT::ReadingObject is marked as deprecated.. It is still
      set (as it was) but is no longer used by the above mention
      classes.
      
      NOTE:  One side effect of this change, is that instnace 
      of TTree, TH1, TEventList, TEntryList, TGraph2D that are
      retrieved from a TMessage (i.e. from a socket) no longer
      auto register themselves to the current ROOT directory.
      
      Add a new optional parameter to TDirectory::Append: 'replace'
      If replace is true (the default is false), the Append will
      first remove from the directory any existing object and
      print the message:
      
         Replacing existing OldClass: thename (Potential memory leak).
      
      Add a new option parameter to TDirectory::CloneObject: 'autoadd'
      If autoadd is true (the default), CloneObject will call the
      object 'DirectoryAutoAdd' function (if any)
      
      In TDirectory::CloneObject add support for multiple inheritance
      from TObject where TObject is not the left most base class.
      
      Fix memory leak in TGraph2D::operator= (and add TGraph2D::Clear)
      
      Cleanup some documentation
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@22992 27541ba8-7e3a-0410-8455-c3a389f83636
      70fc8753
  13. Apr 03, 2008
    • Philippe Canal's avatar
      rootcint.cxx: · bc1a1aa9
      Philippe Canal authored
      Update rootcint_tmp to properly transform the new header file name.
      We used to have cont/inc/TClonesArray.h and now have core/cont/TClonesArray.h
      and need to transform it into include/TClonesArray.h
      
      
      rootcint.cxx, TClass.cxx, TClass.h, TGenericClassInfo.cxx, TGenericClassInfo.h
      Rtypes.h
      
      Add a new TClass interface to be able to trigger the "auto addition of object
      to a TDirectory object".  If a class has a member function:
              DirectoryAutoAdd(TDirectory*)
      it will now be accessible (when the dictionary is generated via rootcint 
      for now) via TClass::GetDirectoryAutoAdd which return a wrapper with the 
      signature:
              void (*)(void *this_obj,TDirectory *where_to_add)
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@22973 27541ba8-7e3a-0410-8455-c3a389f83636
      bc1a1aa9
Loading