ROOT
Version v6.34
master
v6.32
Reference Guide
►
ROOT
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
tornado.C
Go to the documentation of this file.
1
/// \file
2
/// \ingroup tutorial_graphics
3
/// \notebook
4
/// Show 3-d polymarker.
5
///
6
/// \macro_image
7
/// \macro_code
8
///
9
/// \author Rene Brun
10
11
void
tornado
() {
12
gBenchmark
->
Start
(
"tornado"
);
13
14
double
PI
= 3.141592653;
15
int
d
= 16;
16
int
numberOfPoints
=200;
17
int
numberOfCircles
=40;
18
19
// create and open a canvas
20
TCanvas
*
sky
=
new
TCanvas
(
"sky"
,
"Tornado"
, 300, 10, 700, 500 );
21
sky
->SetFillColor(14);
22
23
// creating view
24
TView
*view =
TView::CreateView
(1,0,0);
25
float
range
=
numberOfCircles
*
d
;
26
view->
SetRange
( 0, 0, 0, 4.0*
range
, 2.0*
range
,
range
);
27
28
for
(
int
j
=
d
;
j
<
numberOfCircles
*
d
;
j
+=
d
) {
29
30
// create a PolyMarker3D
31
TPolyMarker3D
*
pm3d
=
new
TPolyMarker3D
(
numberOfPoints
);
32
33
float
x
,
y
, z;
34
35
// set points
36
for
(
int
i = 1; i <
numberOfPoints
; i++ ) {
37
float
csin
= sin(2*
PI
/ (
double
)
numberOfPoints
* (
double
)i) + 1;
38
float
ccos
= cos(2*
PI
/ (
double
)
numberOfPoints
* (
double
)i) + 1;
39
float
esin
= sin(2*
PI
/ (
double
)(
numberOfCircles
*
d
) * (
double
)
j
) + 1;
40
x
=
j
* (
csin
+
esin
);
41
y
=
j
*
ccos
;
42
z =
j
;
43
pm3d
->SetPoint( i,
x
,
y
, z );
44
}
45
46
// set marker size, color & style
47
pm3d
->SetMarkerSize( 1 );
48
pm3d
->SetMarkerColor( 2 + (
d
== (
j
&
d
) ) );
49
pm3d
->SetMarkerStyle( 3 );
50
51
//draw
52
pm3d
->Draw();
53
}
54
55
char
timeStr
[60];
56
gBenchmark
->
Show
(
"tornado"
);
57
58
Float_t
ct
=
gBenchmark
->
GetCpuTime
(
"tornado"
);
59
sprintf
(
timeStr
,
"Execution time: %g sec."
,
ct
);
60
61
TPaveText
*
text
=
new
TPaveText
( 0.1, 0.81, 0.9, 0.97 );
62
text
->SetFillColor( 42 );
63
text
->AddText(
"ROOT example: tornado.C"
);
64
text
->AddText(
timeStr
);
65
text
->Draw();
66
sky
->Update();
67
}
d
#define d(i)
Definition
RSha256.hxx:102
Float_t
float Float_t
Definition
RtypesCore.h:57
PI
#define PI
Definition
SpecFuncMathCore.cxx:23
gBenchmark
R__EXTERN TBenchmark * gBenchmark
Definition
TBenchmark.h:59
TRangeDynCast
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Definition
TCollection.h:358
text
Option_t Option_t TPoint TPoint const char text
Definition
TGWin32VirtualXProxy.cxx:68
ROOT::Detail::TRangeCast
Definition
TCollection.h:311
TBenchmark::Start
virtual void Start(const char *name)
Starts Benchmark with the specified name.
Definition
TBenchmark.cxx:172
TBenchmark::Show
virtual void Show(const char *name)
Stops Benchmark name and Prints results.
Definition
TBenchmark.cxx:155
TBenchmark::GetCpuTime
Float_t GetCpuTime(const char *name)
Returns Cpu time used by Benchmark name.
Definition
TBenchmark.cxx:117
TCanvas
The Canvas class.
Definition
TCanvas.h:23
TPaveText
A Pave (see TPave) with text, lines or/and boxes inside.
Definition
TPaveText.h:21
TPolyMarker3D
A 3D polymarker.
Definition
TPolyMarker3D.h:33
TView
See TView3D.
Definition
TView.h:25
TView::CreateView
static TView * CreateView(Int_t system=1, const Double_t *rmin=nullptr, const Double_t *rmax=nullptr)
Create a concrete default 3-d view via the plug-in manager.
Definition
TView.cxx:27
TView::SetRange
virtual void SetRange(const Double_t *min, const Double_t *max)=0
y
Double_t y[n]
Definition
legend1.C:17
x
Double_t x[n]
Definition
legend1.C:17
tornado
Definition
tornado.py:1
tutorials
graphics
tornado.C
ROOT tags/6-34-04 - Reference Guide Generated on Sun Mar 23 2025 14:39:08 (GVA Time) using Doxygen 1.10.0