32 TGraphTime::TGraphTime(): TNamed()
48 TGraphTime::TGraphTime(Int_t nsteps, Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax)
52 Warning(
"TGraphTime",
"Number of steps %d changed to 100",nsteps);
61 fSteps =
new TObjArray(nsteps+1);
62 fFrame =
new TH1D(
"frame",
"",100,fXmin,fXmax);
63 fFrame->SetMinimum(ymin);
64 fFrame->SetMaximum(ymax);
72 TGraphTime::~TGraphTime()
76 delete fSteps; fSteps=0;
83 TGraphTime::TGraphTime(
const TGraphTime >ime) : TNamed(gtime)
85 fSleepTime = gtime.fSleepTime;
86 fNsteps = gtime.fNsteps;
91 fSteps =
new TObjArray(fNsteps+1);
92 fFrame =
new TH1D(
"frame",
"",100,fXmin,fXmax);
93 fFrame->SetMinimum(fYmin);
94 fFrame->SetMaximum(fYmax);
103 Int_t TGraphTime::Add(
const TObject *obj, Int_t slot, Option_t *option)
107 fSteps =
new TObjArray(fNsteps+1);
109 if (slot < 0 || slot >= fNsteps)
return -1;
110 TList *list = (TList*)fSteps->UncheckedAt(slot);
113 fSteps->AddAt(list,slot);
115 list->Add((TObject*)obj, option);
124 void TGraphTime::Draw(Option_t *option)
127 gROOT->MakeDefCanvas();
128 gPad->SetFillColor(41);
129 gPad->SetFrameFillColor(19);
133 fFrame->SetTitle(GetTitle());
143 void TGraphTime::Paint(Option_t *option)
145 TString opt = option;
147 TObject *frame = gPad->GetPrimitive(
"frame");
151 for (Int_t s=0;s<fNsteps;s++) {
152 list = (TList*)fSteps->UncheckedAt(s);
154 gPad->GetListOfPrimitives()->Remove(frame);
155 gPad->GetListOfPrimitives()->Clear();
156 if (frame) gPad->GetListOfPrimitives()->Add(frame);
157 lnk = list->FirstLink();
159 TObject *obj = lnk->GetObject();
160 obj->Draw(lnk->GetAddOption());
164 if (fSleepTime > 0) gSystem->Sleep(fSleepTime);
174 void TGraphTime::SaveAnimatedGif(
const char *filename)
const
176 TObject *frame = gPad->GetPrimitive(
"frame");
180 for (Int_t s=0;s<fNsteps;s++) {
181 list = (TList*)fSteps->UncheckedAt(s);
183 gPad->GetListOfPrimitives()->Remove(frame);
184 gPad->GetListOfPrimitives()->Clear();
185 if (frame) gPad->GetListOfPrimitives()->Add(frame);
186 lnk = list->FirstLink();
188 TObject *obj = lnk->GetObject();
189 obj->Draw(lnk->GetAddOption());
193 if (strlen(filename) > 0) gPad->Print(Form(
"%s+",filename));
194 else gPad->Print(Form(
"%s+",GetName()));
195 if (fSleepTime > 0) gSystem->Sleep(fSleepTime);