This macro illustrates the use of the time mode on the axis with different time intervals and time formats.
Through all this script, the time is expressed in UTC. some information about this format (and others like GPS) may be found at http://tycho.usno.navy.mil/systime.html or http://www.topology.org/sci/time.html
The start time is: almost NOW (the time at which the script is executed) actually, the nearest preceding hour beginning. The time is in general expressed in UTC time with the C time() function This will obviously most of the time not be the time displayed on your watch since it is a universal time. See the C time functions for converting this time into more useful structures.
#include <time.h>
void timeonaxis()
{
time_t script_time;
script_time = time(0);
script_time = 3600*(
int)(script_time/3600);
auto ct =
new TCanvas(
"ct",
"Time on axis",10,10,700,900);
ct->Divide(1,3);
int i;
float noise;
auto ht =
new TH1F(
"ht",
"Love at first sight",3000,0.,2000.);
for (i=1;i<3000;i++) {
if (i>700) {
noise += 1000*sin((i-700)*6.28/30)*exp((double)(700-i)/300);
}
ht->SetBinContent(i,noise);
}
ct->cd(1);
ht->SetLineColor(2);
ht->GetXaxis()->SetLabelSize(0.05);
ht->Draw();
ht->GetXaxis()->SetTimeDisplay(1);
for (i=0;i<100;i++) {
x[i] =
sin(i*4*3.1415926/50)*
exp(-(
double)i/20);
}
gt->SetTitle("Politics");
ct->cd(2);
gt->SetLineColor(5);
gt->SetLineWidth(2);
gt->Draw("AL");
gt->GetXaxis()->SetLabelSize(0.05);
gt->GetXaxis()->SetTimeDisplay(1);
for (i=0;i<10;i++) {
TDatime datePnt(2000 + i,1,1,0,0,0);
gt2->AddPoint(datePnt.Convert() - dateBegin.Convert(), 100 +
gRandom->
Gaus(500,100)*i);
}
gt2->SetTitle("Number of monkeys on the moon");
ct->cd(3);
gt2->SetMarkerColor(4);
gt2->SetMarkerStyle(29);
gt2->SetMarkerSize(1.3);
gt2->Draw("AP");
gt2->GetXaxis()->SetLabelSize(0.04);
gt2->GetXaxis()->SetNdivisions(10);
gt2->GetXaxis()->SetTimeDisplay(1);
gt2->GetXaxis()->SetTimeFormat("%d/%m/%Y %F2000-01-01 00:00:00");
}
R__EXTERN TRandom * gRandom
R__EXTERN TStyle * gStyle
This class stores the date and time with a precision of one second in an unsigned 32 bit word (950130...
A TGraph is an object made of two arrays X and Y with npoints each.
1-D histogram with a float per channel (see TH1 documentation)
virtual Double_t Gaus(Double_t mean=0, Double_t sigma=1)
Samples a random number from the standard Normal (Gaussian) Distribution with the given mean and sigm...
void SetTimeOffset(Double_t toffset)
Change the time offset for time plotting.
void SetTitleH(Float_t h=0)
RVec< PromoteType< T > > exp(const RVec< T > &v)
RVec< PromoteType< T > > sin(const RVec< T > &v)
- Author
- Damir Buskulic
Definition in file timeonaxis.C.