/* FakePhysicist.com admin@fakephysicist.com 04 May 2017 compile with: g++ WaxMelting.cpp -o WaxMelting `root-config --cflags --libs` */ #include #include #include #include #include #include /****** Include the required ROOT Classes *****/ #include "TF1.h" #include "TStyle.h" #include "TPad.h" #include "TCanvas.h" #include "TGraph.h" #include "TPostScript.h" #include "TLatex.h" #include "TGaxis.h" #include "TAxis.h" using namespace std; int fitPol = 30; double fitFn(double *x, double *par) { double value = 0.; for(int ij=0;ij w_time, ww_temp, wb_temp; w_time.clear();ww_temp.clear();wb_temp.clear(); while(!infile.eof()) { double time, waxtemp, watertemp; infile >> time >> waxtemp >> watertemp; if(infile.eof()) {break;} w_time.push_back(time/60.); ww_temp.push_back(waxtemp); wb_temp.push_back(watertemp); } gStyle->SetPadBottomMargin(0.14); gStyle->SetPadTopMargin(0.09); gStyle->SetPadLeftMargin(0.14); gStyle->SetPadRightMargin(0.10); gStyle->SetOptFit(0); TGaxis::SetMaxDigits(3); TCanvas *can1 = new TCanvas("WaxMelting","WaxMelting",900,1200); can1->Divide(1,3); TPostScript *pss = new TPostScript("WaxMelting.ps",111); pss->NewPage(); can1->cd(1); TGraph *wax0 = new TGraph(w_time.size(),&w_time[0],&ww_temp[0]); wax0->GetYaxis()->SetNdivisions(48); wax0->GetXaxis()->SetNdivisions(24); TPad *grid = new TPad("grid","",0,0,1,1); grid->Draw(); grid->cd(); grid->SetGrid(); // grid->SetFillStyle(1111); wax0->Draw("AP"); wax0->SetTitle("Wax Temperature VS Time Plot"); wax0->GetXaxis()->SetTitle("Time in Min"); wax0->GetXaxis()->SetTitleSize(0.025); wax0->GetXaxis()->SetTitleOffset(1.0); wax0->GetXaxis()->CenterTitle(); wax0->GetXaxis()->SetLabelSize(0.025); wax0->GetXaxis()->SetLabelOffset(0.001); wax0->GetYaxis()->SetTitle("Wax Temperature in C"); wax0->GetYaxis()->SetTitleSize(0.025); wax0->GetYaxis()->SetTitleOffset(1.1); wax0->GetYaxis()->CenterTitle(); wax0->GetYaxis()->SetLabelSize(0.025); wax0->GetYaxis()->SetLabelOffset(0.001); can1->cd(2); TGraph *wax1 = new TGraph(w_time.size(),&w_time[0],&wb_temp[0]); wax1->GetYaxis()->SetNdivisions(48); wax1->GetXaxis()->SetNdivisions(24); TPad *grid1 = new TPad("grid1","",0,0,1,1); grid1->Draw(); grid1->cd(); grid1->SetGrid(); // grid->SetFillStyle(1111); wax1->Draw("AP"); wax1->SetTitle("Water Temperature VS Time Plot"); wax1->GetXaxis()->SetTitle("Time in Min"); wax1->GetXaxis()->SetTitleSize(0.025); wax1->GetXaxis()->SetTitleOffset(1.0); wax1->GetXaxis()->CenterTitle(); wax1->GetXaxis()->SetLabelSize(0.025); wax1->GetXaxis()->SetLabelOffset(0.001); wax1->GetYaxis()->SetTitle("Water Temperature in C"); wax1->GetYaxis()->SetTitleSize(0.025); wax1->GetYaxis()->SetTitleOffset(1.1); wax1->GetYaxis()->CenterTitle(); wax1->GetYaxis()->SetLabelSize(0.025); wax1->GetYaxis()->SetLabelOffset(0.001); can1->cd(3); TGraph *wax2 = new TGraph(ww_temp.size(),&wb_temp[0],&ww_temp[0]); wax2->GetYaxis()->SetNdivisions(48); wax2->GetXaxis()->SetNdivisions(24); TPad *grid2 = new TPad("grid2","",0,0,1,1); grid2->Draw(); grid2->cd(); grid2->SetGrid(); // grid->SetFillStyle(1111); wax2->Draw("AP"); wax2->SetTitle("Wax Temperature VS Water Temperature Plot"); wax2->GetXaxis()->SetTitle("Water Temperature in C"); wax2->GetXaxis()->SetTitleSize(0.025); wax2->GetXaxis()->SetTitleOffset(1.0); wax2->GetXaxis()->CenterTitle(); wax2->GetXaxis()->SetLabelSize(0.025); wax2->GetXaxis()->SetLabelOffset(0.001); wax2->GetYaxis()->SetTitle("Wax Temperature in C"); wax2->GetYaxis()->SetTitleSize(0.025); wax2->GetYaxis()->SetTitleOffset(1.1); wax2->GetYaxis()->CenterTitle(); wax2->GetYaxis()->SetLabelSize(0.025); wax2->GetYaxis()->SetLabelOffset(0.001); can1->Update(); pss->Close(); return 0; }