Skip to content
Snippets Groups Projects
Commit eb1d2371 authored by Olivier Couet's avatar Olivier Couet
Browse files

Doxygen formatting.

parent 383cb77d
No related branches found
No related tags found
No related merge requests found
Showing with 276 additions and 189 deletions
/// \file
/// \ingroup Tutorials
/// This macro run several tests and produces an benchmark report.
///
/// \macro_image
/// \macro_output
/// \macro_code
///
/// \author Rene Brun
TCanvas* bench1 = 0; TCanvas* bench1 = 0;
void bexec(TString &dir,const char *macro) void bexec(TString &dir,const char *macro)
......
{ /// \file
// This macro shows a control bar o run some of the ROOT tutorials. /// \ingroup Tutorials
// To execute an item, click with the left mouse button. /// This macro shows a control bar to run some of the ROOT tutorials.
/// To execute an item, click with the left mouse button.
///
/// \macro_code
///
/// \author Rene Brun
{
gROOT->Reset(); gROOT->Reset();
//Add the tutorials directory to the macro path //Add the tutorials directory to the macro path
......
/// \file
/// \ingroup Tutorials
/// This macro shows help on running the Demos.
///
/// \macro_code
///
/// \author Rene Brun
void demoshelp() { void demoshelp() {
// //
new TCanvas("chelp","Help to run demos",200,10,700,500); new TCanvas("chelp","Help to run demos",200,10,700,500);
......
// @(#)root/tutorials:$Id$ /// \file
// Author: Rene Brun 02/09/2000 /// \ingroup Tutorials
/// This script is a representation using TTasks of the Geant3 simulation program
/// This example uses directly TTask objects.
/// A real implementation would require one class per task derived from TTask.
///
/// \macro_code
///
/// \author Rene Brun
void geant3tasks() void geant3tasks()
{ {
// this script is a representation using TTasks of the Geant3 simulation program
// This example uses directly TTask objects.
// A real implementation would require one class per task derived from TTask.
TTask *geant3 = new TTask("geant3","Geant3 simulation main program"); TTask *geant3 = new TTask("geant3","Geant3 simulation main program");
gROOT->GetListOfTasks()->Add(geant3); gROOT->GetListOfTasks()->Add(geant3);
TTask *uginit = new TTask("uginit","Initialisation manager"); TTask *uginit = new TTask("uginit","Initialisation manager");
......
/// \file
// This file demonstrates how THtml can document sources. /// \ingroup Tutorials
// BEGIN_HTML <!-- /// This file demonstrates how THtml can document sources.
/* --> ///
<p>See the <a href=http://root.cern.ch/root/doc/RootDoc.html">Users Guide</a> /// See the [Users Guide](https://root.cern.ch/root/htmldoc/guides/users-guide/ROOTUsersGuide.html)
chapter <a href="ftp://root.cern.ch/root/doc/chapter28.pdf">Automatic HTML Documentation</a>, /// chapter [Automatic HTML Documentation](https://root.cern.ch/root/htmldoc/guides/users-guide/ROOTUsersGuideChapters/HTMLDoc.pdf),
and <a href="http://root.cern.ch/root/html/THtml.html">THtml's class documentation</a>. /// and [THtml's class documentation](https://root.cern.ch/doc/master/classTHtml.html).
There's also a version of this file in HTML, i.e. the output of THtmlDemo::Convert(), ///
at <a href="http://root.cern.ch/root/html/examples/htmlex.C.html"> /// To see this demo script in action start up ROOT and run
http://root.cern.ch/root/html/examples/htmlex.C.html</a></p> /// ~~~ {.cpp}
/// root [0] .x $(ROOTSYS)/tutorials/htmlex.C+
<p>To see this demo script in action start up ROOT and run /// ~~~
<pre> root [0] .x $(ROOTSYS)/tutorials/htmlex.C+</pre> /// and check the output in `./htmldoc`.
and check the output in ./htmldoc.</p> ///
/// and of course we can put HTML code into comments, too.
<p>O, and of course we can put HTML code into comments, too:</p> ///
<img src="http://root.cern.ch/root/images/twiki-rootlogo.jpg"/> /// \macro_code
<p>Actually, all of this documentation is already HTML!</p> ///
<!-- */ /// \author Axel Naumann
// --> END_HTML
#include "THtml.h" #include "THtml.h"
......
...@@ -4,9 +4,8 @@ ...@@ -4,9 +4,8 @@
/// We express parallelism with multiprocessing as it is done with multithreading /// We express parallelism with multiprocessing as it is done with multithreading
/// in mt102_readNtuplesFillHistosAndFit. /// in mt102_readNtuplesFillHistosAndFit.
/// ///
/// \macro_output
/// \macro_code /// \macro_code
///
/// \author Danilo Piparo /// \author Danilo Piparo
Int_t mp102_readNtuplesFillHistosAndFit() Int_t mp102_readNtuplesFillHistosAndFit()
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
/// ///
/// \macro_image /// \macro_image
/// \macro_code /// \macro_code
///
/// \author Danilo Piparo /// \author Danilo Piparo
const UInt_t poolSize = 4U; const UInt_t poolSize = 4U;
......
/// \file /// \file
/// \ingroup tutorial_multicore /// \ingroup tutorial_multicore
/// Parallel fill of a histogram /// Parallel fill of a histogram.
/// This tutorial shows how a histogram can be filled in parallel /// This tutorial shows how a histogram can be filled in parallel
/// with a multithreaded approach. The difference with the multiprocess case, /// with a multithreaded approach. The difference with the multiprocess case,
/// see mp201, is that here we cannot count on the copy-on-write mechanism, but /// see mp201, is that here we cannot count on the copy-on-write mechanism, but
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
/// ///
/// \macro_image /// \macro_image
/// \macro_code /// \macro_code
///
/// \author Danilo Piparo /// \author Danilo Piparo
const UInt_t poolSize = 4U; const UInt_t poolSize = 4U;
......
/// \file /// \file
/// \ingroup tutorial_multicore /// \ingroup tutorial_multicore
/// Parallel fill of a histogram /// Parallel fill of a histogram.
/// This tutorial shows how a histogram can be filled in parallel /// This tutorial shows how a histogram can be filled in parallel
/// with a multiprocess approach. /// with a multiprocess approach.
/// ///
/// \macro_image /// \macro_image
/// \macro_code /// \macro_code
///
/// \author Danilo Piparo. /// \author Danilo Piparo.
const UInt_t poolSize = 4U; const UInt_t poolSize = 4U;
......
//------------------------------------------------------------------------------------------- /// \file
// /// \ingroup Tutorials
// class TPMERegexp - API similar to PME - PCRE Made Easy /// Class TPMERegexp - API similar to PME - PCRE Made Easy
// Tries to be as close as possible to PERL syntax and functionality. /// Tries to be as close as possible to PERL syntax and functionality.
// ///
// Extension of TPRegexp class, see also macro 'regexp.C'. /// Extension of TPRegexp class, see also macro 'regexp.C'.
// ///
//------------------------------------------------------------------------------------------- /// \macro_output
/// \macro_code
///
/// \author Eddy Offermann
void regexp_pme() void regexp_pme()
{ {
......
/// \file
/// \ingroup Tutorials
/// Defines aliases:
/// - `ls(path)`
/// - `edit(filename)`
/// - `dir(path)`
/// - `pwd()`
/// - `cd(path)`
///
/// \macro_code
///
/// \author Rene Brun
//______________________________________________________________________________ //______________________________________________________________________________
void edit(char *file) void edit(char *file)
......
/// \file
/// \ingroup Tutorials
/// Produce a picture of the ROOT environment.
///
/// \macro_image
/// \macro_code
///
/// \author Rene Brun
{ {
gROOT->Reset(); gROOT->Reset();
c1 = new TCanvas("c1","ROOT Environment Canvas",720,840); c1 = new TCanvas("c1","ROOT Environment Canvas",720,840);
c1->Range(0,-0.25,19,29); c1->Range(0,-0.25,19,29);
TPaveLabel title(3,27.1,15,28.7,"ROOT Environment and Tools"); TPaveLabel title(3,27.1,15,28.7,"ROOT Environment and Tools");
title.SetFillColor(42); title.SetFillColor(42);
title.SetTextColor(5); title.SetTextColor(5);
title.SetTextFont(62); title.SetTextFont(62);
title.Draw(); title.Draw();
// //
TArrow ardash(2,15,2,3.5,0.015,"|>"); TArrow ardash(2,15,2,3.5,0.015,"|>");
ardash.SetLineStyle(2); ardash.SetLineStyle(2);
ardash.SetFillColor(1); ardash.SetFillColor(1);
ardash.Draw(); ardash.Draw();
TLine l1(2.5,4.5,15.5,4.5); TLine l1(2.5,4.5,15.5,4.5);
l1.Draw(); l1.Draw();
l1.DrawLine(4.5,15,4.5,11); l1.DrawLine(4.5,15,4.5,11);
l1.DrawLine(13,10,13,15.5); l1.DrawLine(13,10,13,15.5);
l1.DrawLine(14,10,13,10); l1.DrawLine(14,10,13,10);
l1.DrawLine(14,15.5,13,15.5); l1.DrawLine(14,15.5,13,15.5);
TArrow ar(9,23,9,21.6,0.015,"|>"); TArrow ar(9,23,9,21.6,0.015,"|>");
ar.SetFillColor(1); ar.SetFillColor(1);
// //
TPavesText UserChtml(0.5,0.5,4.5,3,5,"tr"); TPavesText UserChtml(0.5,0.5,4.5,3,5,"tr");
UserChtml.AddText("Files with hyperlinks"); UserChtml.AddText("Files with hyperlinks");
TText *t1=UserChtml.AddText("*User.C.html"); TText *t1=UserChtml.AddText("*User.C.html");
TText *t2=UserChtml.AddText("*User.mac.html"); TText *t2=UserChtml.AddText("*User.mac.html");
t1->SetTextColor(4); t1->SetTextColor(4);
t2->SetTextColor(4); t2->SetTextColor(4);
UserChtml.Draw(); UserChtml.Draw();
ar.DrawArrow(2.5,4.5,2.5,3.5,0.015,"|>"); ar.DrawArrow(2.5,4.5,2.5,3.5,0.015,"|>");
// //
TPavesText UserTree(7,0.5,11,3,5,"tr"); TPavesText UserTree(7,0.5,11,3,5,"tr");
UserTree.AddText("Dictionary"); UserTree.AddText("Dictionary");
UserTree.AddText("Inheritance graphs"); UserTree.AddText("Inheritance graphs");
TText *t3=UserTree.AddText("*User_Tree.ps"); TText *t3=UserTree.AddText("*User_Tree.ps");
t3->SetTextColor(4); t3->SetTextColor(4);
UserTree.Draw(); UserTree.Draw();
ar.DrawArrow(9,5.5,9,3.5,0.015,"|>"); ar.DrawArrow(9,5.5,9,3.5,0.015,"|>");
// //
TPavesText Userhtml(13.5,0.5,17.5,3,5,"tr"); TPavesText Userhtml(13.5,0.5,17.5,3,5,"tr");
Userhtml.AddText("Class Description"); Userhtml.AddText("Class Description");
Userhtml.AddText("with references"); Userhtml.AddText("with references");
TText *t4=Userhtml.AddText("*User.html"); TText *t4=Userhtml.AddText("*User.html");
t4->SetTextColor(4); t4->SetTextColor(4);
Userhtml.Draw(); Userhtml.Draw();
ar.DrawArrow(15.5,4.5,15.5,3.5,0.015,"|>"); ar.DrawArrow(15.5,4.5,15.5,3.5,0.015,"|>");
// //
TPavesText Macros(0.5,8,3.5,11,5,"tr"); TPavesText Macros(0.5,8,3.5,11,5,"tr");
Macros.AddText("Macros"); Macros.AddText("Macros");
Macros.AddText("Log files"); Macros.AddText("Log files");
TText *t5=Macros.AddText("*User.mac"); TText *t5=Macros.AddText("*User.mac");
TText *t5a=Macros.AddText("*User.log"); TText *t5a=Macros.AddText("*User.log");
t5->SetTextColor(4); t5->SetTextColor(4);
t5a->SetTextColor(4); t5a->SetTextColor(4);
Macros.Draw(); Macros.Draw();
// //
TPavesText UserC(1,15,5,18,5,"tr"); TPavesText UserC(1,15,5,18,5,"tr");
UserC.AddText("C++ application"); UserC.AddText("C++ application");
UserC.AddText("source code"); UserC.AddText("source code");
TText *t6=UserC.AddText("*User.C"); TText *t6=UserC.AddText("*User.C");
t6->SetTextColor(4); t6->SetTextColor(4);
UserC.Draw(); UserC.Draw();
ar.DrawArrow(4.5,11,5.8,11,0.015,"|>"); ar.DrawArrow(4.5,11,5.8,11,0.015,"|>");
// //
TPavesText Userh(6,23,12,26,5,"tr"); TPavesText Userh(6,23,12,26,5,"tr");
Userh.AddText("C++ header files"); Userh.AddText("C++ header files");
TText *t7=Userh.AddText("*User.h"); TText *t7=Userh.AddText("*User.h");
t7->SetTextColor(4); t7->SetTextColor(4);
Userh.SetFillColor(11); Userh.SetFillColor(11);
Userh.Draw(); Userh.Draw();
ar.DrawArrow(9,23,9,21.6,0.015,"|>"); ar.DrawArrow(9,23,9,21.6,0.015,"|>");
// //
TPavesText UserUI(6.5,14,11.5,17,5,"tr"); TPavesText UserUI(6.5,14,11.5,17,5,"tr");
UserUI.AddText("C++ code for"); UserUI.AddText("C++ code for");
UserUI.AddText("User Interface and I/O"); UserUI.AddText("User Interface and I/O");
TText *t8=UserUI.AddText("*UserUI.C"); TText *t8=UserUI.AddText("*UserUI.C");
t8->SetTextColor(4); t8->SetTextColor(4);
UserUI.Draw(); UserUI.Draw();
ar.DrawArrow(9,18.5,9,17.3,0.015,"|>"); ar.DrawArrow(9,18.5,9,17.3,0.015,"|>");
ar.DrawArrow(9,14,9,12.6,0.015,"|>"); ar.DrawArrow(9,14,9,12.6,0.015,"|>");
// //
TPavesText Usersl(14,14,17.5,17,5,"tr"); TPavesText Usersl(14,14,17.5,17,5,"tr");
Usersl.AddText("User"); Usersl.AddText("User");
Usersl.AddText("Libraries"); Usersl.AddText("Libraries");
TText *t9=Usersl.AddText("*User.sl"); TText *t9=Usersl.AddText("*User.sl");
t9->SetTextColor(4); t9->SetTextColor(4);
Usersl.Draw(); Usersl.Draw();
ar.DrawArrow(13,11,12.1,11,0.015,"|>"); ar.DrawArrow(13,11,12.1,11,0.015,"|>");
// //
TPavesText Rootlib(14,8.5,17.5,11.5,5,"tr"); TPavesText Rootlib(14,8.5,17.5,11.5,5,"tr");
Rootlib.AddText("Root Library"); Rootlib.AddText("Root Library");
Rootlib.AddText("and Includes"); Rootlib.AddText("and Includes");
TText *t10=Rootlib.AddText("Root.sl"); TText *t10=Rootlib.AddText("Root.sl");
TText *t11=Rootlib.AddText("Root/include"); TText *t11=Rootlib.AddText("Root/include");
t10->SetTextColor(4); t10->SetTextColor(4);
t11->SetTextColor(4); t11->SetTextColor(4);
Rootlib.Draw(); Rootlib.Draw();
// //
TEllipse dict(9,20,3,1.5); TEllipse dict(9,20,3,1.5);
dict.SetFillColor(43); dict.SetFillColor(43);
dict.SetFillStyle(1001); dict.SetFillStyle(1001);
dict.SetLineColor(1); dict.SetLineColor(1);
dict.SetLineWidth(3); dict.SetLineWidth(3);
dict.Draw(); dict.Draw();
TText gen(9,20.7,"rootcint"); TText gen(9,20.7,"rootcint");
gen.SetTextAlign(22); gen.SetTextAlign(22);
gen.SetTextSize(0.025); gen.SetTextSize(0.025);
gen.Draw(); gen.Draw();
gen.DrawText(9,19.5,"ROOT compiler"); gen.DrawText(9,19.5,"ROOT compiler");
ar.DrawArrow(9,18.5,9,17.3,0.015,"|>"); ar.DrawArrow(9,18.5,9,17.3,0.015,"|>");
// //
TEllipse compiler(9,11,3,1.5); TEllipse compiler(9,11,3,1.5);
compiler.SetFillColor(43); compiler.SetFillColor(43);
compiler.SetFillStyle(1001); compiler.SetFillStyle(1001);
compiler.SetLineColor(1); compiler.SetLineColor(1);
compiler.SetLineWidth(3); compiler.SetLineWidth(3);
compiler.Draw(); compiler.Draw();
TText gen2(9,11.4,"C++ compiler"); TText gen2(9,11.4,"C++ compiler");
gen2.SetTextAlign(22); gen2.SetTextAlign(22);
gen2.SetTextSize(0.025); gen2.SetTextSize(0.025);
gen2.Draw(); gen2.Draw();
gen2.DrawText(9,10.3,"and Linker"); gen2.DrawText(9,10.3,"and Linker");
ar.DrawArrow(9,9.5,9,8.2,0.015,"|>"); ar.DrawArrow(9,9.5,9,8.2,0.015,"|>");
// //
TPaveText exe(6,5.5,12,8); TPaveText exe(6,5.5,12,8);
exe.SetFillColor(41); exe.SetFillColor(41);
exe.AddText("ROOT-based Application"); exe.AddText("ROOT-based Application");
exe.AddText("Interactive or Batch"); exe.AddText("Interactive or Batch");
TText *t12=exe.AddText("User.exe"); TText *t12=exe.AddText("User.exe");
t12->SetTextColor(2); t12->SetTextColor(2);
exe.Draw(); exe.Draw();
c1->Modified(); c1->Modified();
c1->Print("rootenv.ps"); c1->Print("rootenv.ps");
} }
/// \file
/// \ingroup Tutorials
/// Example of `rootlogoff.C`.
/// The macro `rootlogoff.C` in the current working directory, is executed when
/// `root` finishes.
///
/// \macro_code
///
/// \author Rene Brun
{ {
printf("\nTaking a break from ROOT? Hope to see you back!\n\n"); printf("\nTaking a break from ROOT? Hope to see you back!\n\n");
} }
/// \file
/// \ingroup Tutorials
/// Example of `rootlogon.C`.
/// The macro `rootlogon.C` in the current working directory, is executed when
/// `root` starts unless the option `-n` is used.
///
/// \macro_code
///
/// \author Rene Brun
{ {
printf("\nWelcome to the ROOT tutorials\n\n"); printf("\nWelcome to the ROOT tutorials\n\n");
printf("\nType \".x demos.C\" to get a toolbar from which to execute the demos\n"); printf("\nType \".x demos.C\" to get a toolbar from which to execute the demos\n");
......
/// \file
/// \ingroup Tutorials
/// Prints a summary of all ROOT benchmarks (must be run before).
/// The ROOTMARK number printed is by reference to a Pentium IV 2.4 Ghz
/// (with 512 MBytes memory and 120 GBytes IDE disk)
/// taken by definition as 600 ROOTMARKS in batch mode in executing
///
/// root -b -q benchmarks.C
///
/// \macro_code
///
/// \author Rene Brun
void rootmarks() { void rootmarks() {
// Prints a summary of all ROOT benchmarks (must be run before)
// The ROOTMARK number printed is by reference to a Pentium IV 2.4 Ghz
// (with 512 MBytes memory and 120 GBytes IDE disk)
// taken by definition as 600 ROOTMARKS in batch mode in executing
// root -b -q benchmarks.C
//
Float_t rtall = 0; Float_t rtall = 0;
Float_t cpall = 0; Float_t cpall = 0;
......
// Example of TTasks. /// \file
// Create a hierarchy of objects derived from TTask in library Mytasks /// \ingroup Tutorials
// Show the tasks in a browser. /// Example of TTasks.
// To execute a Task, use the context context menu and select /// Create a hierarchy of objects derived from TTask in library Mytasks
// the item "ExecuteTask" /// Show the tasks in a browser.
// see also other functions in the TTask context menu, such as /// To execute a Task, use the context context menu and select
// -setting a breakpoint in one or more tasks /// the item "ExecuteTask"
// -enabling/disabling one task, etc /// see also other functions in the TTask context menu, such as
//Author: Rene Brun /// - setting a breakpoint in one or more tasks
/// - enabling/disabling one task, etc
///
/// \macro_code
///
/// \author Rene Brun
#ifndef __RUN_TASKS__ #ifndef __RUN_TASKS__
void tasks() void tasks()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment