Logo ROOT   6.14/05
Reference Guide
line.cxx
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_v7
3 ///
4 /// \macro_code
5 ///
6 /// \date 2018-03-18
7 /// \warning This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback
8 /// is welcome!
9 /// \authors Olivier couet, Iliana Betsou
10 
11 #include "ROOT/TCanvas.hxx"
12 #include "ROOT/TColor.hxx"
13 #include "ROOT/TLine.hxx"
14 #include <ROOT/TPadPos.hxx>
15 
16 void line()
17 {
18  using namespace ROOT;
19  using namespace ROOT::Experimental;
20 
21  // Create a canvas to be displayed.
22  auto canvas = Experimental::TCanvas::Create("Canvas Title");
23 
24  for (double i = 0; i < 360; i+=1) {
25  double angle = i * TMath::Pi() / 180;
26  TPadPos p(0.3_normal*TMath::Cos(angle) + 0.5_normal,
27  0.3_normal*TMath::Sin(angle) + 0.5_normal);
28  auto opts = canvas->Draw(Experimental::TLine({0.5_normal, 0.5_normal} , p));
29  Experimental::TColor col(0.0025*i, 0, 0);
30  opts->SetLineColor(col);
31  opts->SetLineWidth(1);
32  }
33 
34  canvas->Draw(Experimental::TLine({0.0_normal, 0.0_normal}, {1.0_normal,1.0_normal}));
35  canvas->Draw(Experimental::TLine({0.1_normal, 0.1_normal}, {0.9_normal,0.1_normal}));
36  canvas->Draw(Experimental::TLine({0.9_normal, 0.1_normal}, {0.9_normal,0.9_normal}));
37  canvas->Draw(Experimental::TLine({0.9_normal, 0.9_normal}, {0.1_normal,0.9_normal}));
38  canvas->Draw(Experimental::TLine({0.1_normal, 0.1_normal}, {0.1_normal,0.9_normal}));
39  canvas->Draw(Experimental::TLine({0.0_normal, 1.0_normal}, {1.0_normal,0.0_normal}));
40 
41  canvas->Show();
42 }
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21
TLine * line
A position (horizontal and vertical) in a TPad.
Definition: TPadPos.hxx:27
constexpr Double_t Pi()
Definition: TMath.h:38
Double_t Cos(Double_t)
Definition: TMath.h:640
Double_t Sin(Double_t)
Definition: TMath.h:636
static std::shared_ptr< TCanvas > Create(const std::string &title)
Definition: TCanvas.cxx:74