void demoTimeAxis() { TTimeStamp startTime(2010,07,21,13,0,0, 0, kTRUE); TTimeStamp stopTime1(2010,07,21,15,0,0, 0, kTRUE); TTimeStamp stopTime2(2011,07,21,13,0,0, 0, kTRUE); assert( startTime.GetSec() == 1279717200 ); // startTime.GetSec() is "epoch" of 21/07/2010 13:00:00 GMT cout << "Start time: " << startTime.AsString() << endl; cout << "Stop time1: " << stopTime1.AsString() << endl; cout << "Stop time2: " << stopTime2.AsString() << endl; TH1F *timeHist1 = new TH1F("timeHist1" ,"foo",100, startTime.GetSec(), stopTime1.GetSec() ); TH1F *timeHist1a = new TH1F("timeHist1a","foo",100, startTime.GetSec(), stopTime1.GetSec() ); TH1F *timeHist1b = new TH1F("timeHist1b","foo",100, startTime.GetSec(), stopTime1.GetSec() ); TH1F *timeHist1c = new TH1F("timeHist1c","foo",100, startTime.GetSec(), stopTime1.GetSec() ); TH1F *timeHist2 = new TH1F("timeHist2" ,"foo",100, startTime.GetSec(), stopTime2.GetSec() ); // this does not do the right thing gStyle->SetTimeOffset(0); c = new TCanvas("t1","t1"); c->Divide(2,2); c->cd(1); timeHist1->GetXaxis()->SetTimeDisplay(1); timeHist1->Draw(); c->cd(2); timeHist1a->GetXaxis()->SetTimeDisplay(1); timeHist1a->GetXaxis()->SetTimeFormat("#splitline{%Hh%M}{%d/%m%y}%F1-1-1970 00:00:00 GMT"); timeHist1a->Draw(); c->cd(3); timeHist1b->GetXaxis()->SetTimeDisplay(1); timeHist1b->GetXaxis()->SetTimeFormat("#splitline{%Hh%M}{%y}%F1-1-1970 00:00:00"); timeHist1b->Draw(); c->cd(4); timeHist1c->GetXaxis()->SetTimeDisplay(1); timeHist1c->GetXaxis()->SetTimeFormat("#splitline{%Hh%M}{%y}%FXXXX"); timeHist1c->Draw(); c = new TCanvas("t2","t2"); timeHist2->GetXaxis()->SetTimeDisplay(1); timeHist2->Draw(); }