ROOT
6.08/07
Reference Guide
tutorials
graphics
feynman.C File Reference
Tutorials
»
Graphics tutorials
Detailed Description
Draw Feynman diagrams.
void
feynman()
{
TCanvas
*c1 =
new
TCanvas
(
"c1"
,
"A canvas"
, 10,10, 600, 300);
c1->
Range
(0, 0, 140, 60);
Int_t
linsav =
gStyle
->
GetLineWidth
();
gStyle
->
SetLineWidth
(3);
TLatex
t;
t.
SetTextAlign
(22);
t.
SetTextSize
(0.1);
TLine
*
l
;
l =
new
TLine
(10, 10, 30, 30); l->
Draw
();
l =
new
TLine
(10, 50, 30, 30); l->
Draw
();
TCurlyArc
*ginit =
new
TCurlyArc
(30, 30, 12.5*
sqrt
(2), 135, 225);
ginit->
SetWavy
();
ginit->
Draw
();
t.
DrawLatex
(7,6,
"e^{-}"
);
t.
DrawLatex
(7,55,
"e^{+}"
);
t.
DrawLatex
(7,30,
"#gamma"
);
TCurlyLine
*
Gamma
=
new
TCurlyLine
(30, 30, 55, 30);
Gamma->
SetWavy
();
Gamma->
Draw
();
t.
DrawLatex
(42.5,37.7,
"#gamma"
);
TArc
*a =
new
TArc
(70, 30, 15);
a->
Draw
();
t.
DrawLatex
(55, 45,
"#bar{q}"
);
t.
DrawLatex
(85, 15,
"q"
);
TCurlyLine
*gluon =
new
TCurlyLine
(70, 45, 70, 15);
gluon->
Draw
();
t.
DrawLatex
(77.5,30,
"g"
);
TCurlyLine
*z0 =
new
TCurlyLine
(85, 30, 110, 30);
z0->
SetWavy
();
z0->
Draw
();
t.
DrawLatex
(100, 37.5,
"Z^{0}"
);
l =
new
TLine
(110, 30, 130, 10); l->
Draw
();
l =
new
TLine
(110, 30, 130, 50); l->
Draw
();
TCurlyArc
*gluon1 =
new
TCurlyArc
(110, 30, 12.5*
sqrt
(2), 315, 45);
gluon1->
Draw
();
t.
DrawLatex
(135,6,
"#bar{q}"
);
t.
DrawLatex
(135,55,
"q"
);
t.
DrawLatex
(135,30,
"g"
);
c1->
Update
();
gStyle
->
SetLineWidth
(linsav);
}
Author
Otto Schaile
Definition in file
feynman.C
.