Create offline Reference Guide with THtml

Hi!

In order to have the ROOT Reference Guide offline I tried to create the complete ROOT Documentation with THtml (ROOT version 5.21/02). In principle it works with

root [0] THtml html
root [1] html.SetInputDir("$(ROOTSYS)/include/")
root [2] html.MakeAll()

but some classes are simply missing in the reference guide. Trying to explicitly making the doc for those ends in an error like

root [0] THtml html
root [1] html.SetInputDir("$(ROOTSYS)/include/")
root [2] html.MakeClass(“TVector3”)
Error in THtml::MakeClass: Unknown class ‘TVector3’!

although I’m able to instantiate a TVector3 in the same session. So I don’t know what I’m doing wrong, maybe somebody can help me?

Cheers and thanks,
Klaus

PS: In the ‘ROOT User’s Guide’ in chapter 27 (also in root.cern.ch/root/Documentation.html) about THtml, there still the methode

root [1] html.SetSourceDir("$(ROOTSYS)")

is supposed to be called which is not available. Most likely this should be SetInputDir

Hi,

congratulations! I don’t think I’ve ever discovered that many bugs in THtml because of just one report :slight_smile: I hope all of them are fixed in the trunk now - could you give it another try? Note that the input path should be “$(ROOTSYS)” not “$(ROOTSYS)/include”, or THtml will not document the sources.

Also note that you can download the documentation for offline browsing from the download page, e.g. here: ftp://root.cern.ch/root/html521.tar.gz

And I will make sure that the next revision of the users guide will be corrected.

Thanks for reporting all of this!

Cheers, Axel.

Hi Axel,

thanks for the info. I checkd out the trunk with the command ‘svn co root.cern.ch/svn/root/trunk root’, right? (Usually I use the download version)

Then after configure/make I tried again in root (it shows version 5.21-05 in CINT) with

THtml html
html.SetInputDir("$(ROOTSYS)");
html.MakeAll()

but with the same result, i.e. no TVector3 for example. On the page index.html, when I click on ROOT (uppermost in the menu bar) I have in the modules listing only

CINT CORE GRAF2D HIST HTML IO MATH

whereas in the version I downloaded (thanks for the link!) I have there much more:

BINDINGS CINT CORE GEOM GRAF2D GRAF3D GUI HIST HTML IO MATH MISC MONTECARLO NET PROOF ROOFIT SQL TMVA TREE

Hmm, still something going wrong, or can it be a problem with my rootlogon.C or .rootrc or so?

Cheers + thanks,
Klaus

Hi Klaus,

THtml only documents the classes of those libraries that have been loaded. TVector3 is in libPhysics, which is only loaded on demand. You can load all available libraries (those with a rootmap file, to be precise) by calling THtml::LoadAllLibs() before calling MakeAll().

Cheers, Axel.

You can also consult the Reference Guide offline by downloading the qch file here: All Reference Guides - ROOT (can be opened with qt-assistant or qtcreator).

See also: Coding in ROOT with the horsepower of an F1 - ROOT