#include <iostream>
//#include <ctime>
//#include <cstdlib>

//Librerie ROOT
#include "TApplication.h"		//Attivare RooT
#include "TCanvas.h"			//Attivare una finestra
#include "TH1F.h"			//Disegnare un istogramma monodimensionale
#include "TGraph.h"			//Disegnare uno scatter-plot
#include "TF1.h"			//Disegnare una funzione a una variabile
#include "TEllipse.h"			//Disegnare dei cerchi


using namespace std;

int main(){

srand(time(NULL));
float X[100];
float Y[100];

for (int i=0; i < 100; i++) {
	X[i] = 2* ((float) rand()/RAND_MAX) - 1;
	Y[i] = 2* ((float) rand()/RAND_MAX) - 1;
}

TApplication app("Applicazione",0,0); 	//Ecosistema RooT

TCanvas tela1("T1","Plot1",600,600);	//Tela su cui disegnare
TGraph plot1(100,X,Y);			//ScatterPlot con array delle coordinate
plot1.Draw("A*");			//Disegno dello ScatterPlot con assi
plot1.Fit("pol2");			//Fit con polinomio di secondo grado

TCanvas tela2("T2","Plot2",600,600);
TGraph plot2(100);			//ScatterPlot
for ( int i = 0; i < 100; i++ )		//Riempio lo ScatterPlot punto a punto
	plot2.SetPoint(i, X[i], Y[i]),
plot2.Draw("A*");	

TCanvas tela3("T3","Funzione",600,600);
TF1 funz("Fun","x*sin(x)",-100,100);	//Funzione a una variabile reale
funz.Draw();

TCanvas tela4("T4","Ellisse",600,600);
tela4.DrawFrame(-2,-2,2,2);
TEllipse cerchio(0,0,1.5,1);		//Ellisse
cerchio.Draw();

app.Run();
return 0;
}