Int_t PlotTemperature1() { MDirIter Next("/fact/aux/2014", "20[0-9][0-9][0-1][0-9][0-3][0-9].TEMPERATURE_DATA.fits", -1); TGraph g; g.SetName("ContainerTemp"); while (1) { TString name = Next(); if (name.IsNull()) break; fits file(name.Data()); if (!file) { cerr << name << ": " << gSystem->GetError() << endl; return -2; } Double_t time; Float_t temp; if (!file.SetPtrAddress("Time", &time)) return -1; if (!file.SetPtrAddress("T", &temp)) return -1; while (file.GetNextRow()) //if (Contains(vec, time)) g.SetPoint(g.GetN(), time+40587, temp); // g.SetPoint(g.GetN(), time*24*3600, temp); } g.SetMinimum(5); g.SetMaximum(35); g.SetMarkerStyle(kFullDotMedium); g.SetMarkerColor(kRed); //g.GetXaxis()->SetTimeDisplay(true); //g.GetXaxis()->SetTimeFormat("%H:%M %F1995-01-01 00:00:00 GMT"); g.GetXaxis()->SetLabelSize(0.04); g.GetYaxis()->SetLabelSize(0.05); g.GetYaxis()->SetTitle("TEMP"); g.GetYaxis()->SetTitleOffset(0.6); g.GetYaxis()->SetTitleSize(0.05); g.DrawClone("AP"); return 0; } int qual() { // To get correct dates in the histogram you have to add // the MJDREF offset (should be 40587) and 9131. TCanvas *c = new TCanvas("quality", "containertemp", 1280, 960); gPad->SetGrid(); gPad->SetTopMargin(0.01); gPad->SetRightMargin(0.01); gPad->SetLeftMargin(0.07); cout << PlotTemperature1() << endl; TLine line; line.SetLineStyle(2); line.SetLineWidth(2); line.DrawLine(MAstro::Ymd2Mjd(2014,4,22), 5, MAstro::Ymd2Mjd(2014,4,22), 35); line.DrawLine(MAstro::Ymd2Mjd(2014,5,24), 5, MAstro::Ymd2Mjd(2014,5,24), 35); line.SetLineStyle(1); line.SetLineColor(kGray+2); line.DrawLine(MAstro::Ymd2Mjd(2014,1,1), 5, MAstro::Ymd2Mjd(2014,1,1), 35); line.DrawLine(MAstro::Ymd2Mjd(2014,2,1), 5, MAstro::Ymd2Mjd(2014,2,1), 35); line.DrawLine(MAstro::Ymd2Mjd(2014,3,1), 5, MAstro::Ymd2Mjd(2014,3,1), 35); line.DrawLine(MAstro::Ymd2Mjd(2014,4,1), 5, MAstro::Ymd2Mjd(2014,4,1), 35); line.DrawLine(MAstro::Ymd2Mjd(2014,5,1), 5, MAstro::Ymd2Mjd(2014,5,1), 35); //c->SaveAs(Form("%s/%04d%02d%02d.png", outpath, y, m, d)); return 0; }