17 #include "TObjArray.h"
18 #include "TObjString.h"
19 #include "TVirtualPad.h"
33 #include "TAttMarker.h"
34 #include "TPaveStats.h"
35 #if ROOT_VERSION_CODE > ROOT_VERSION(5,9,0)
36 #include "TBufferXML.h"
216 if (posx<0) posx=0;
else {
if(posx>=
GetDivX()) posx =
GetDivX()-1; }
217 if (posy<0) posy=0;
else {
if(posy>=
GetDivY()) posy =
GetDivY()-1; }
232 if (sub!=0)
return sub;
246 for (Int_t n=0;n<numlines;n++)
251 Int_t n0, Int_t n1, Int_t n2, Int_t n3, Int_t n4,
252 Int_t n5, Int_t n6, Int_t n7, Int_t n8, Int_t n9)
254 const Int_t numbers[10] = { n0, n1, n2, n3, n4, n5, n6, n7, n8, n9};
262 if (sub==0)
return 0;
284 AddObject(posy, posx, histo, DrawOption);
324 fxNames->Add(
new TObjString(name));
372 TObjString* str =
dynamic_cast<TObjString*
> (
fxNames->At(n));
373 if (str!=0)
return str->String().Data();
386 AddObjName(posy, posx, obj->GetName(), DrawOption);
458 case 0:
return GetRangeX(min, max);
break;
459 case 1:
return GetRangeY(min, max);
break;
460 case 2:
return GetRangeZ(min, max);
break;
505 if (pad == 0)
return;
538 if (line==0)
return kFALSE;
540 Long_t color = -111, style=-111, width=-111;
544 return (color!=-111) && (style!=-111) && (width!=-111);
572 if (fill==0)
return kFALSE;
574 Long_t color = -111, style = -111;
577 return (color!=-111) && (style!=-111);
597 if (marker==0)
return;
606 if (marker==0)
return kFALSE;
608 Long_t color=-111, size=-111, style=-111;
612 return (color!=-111) && (size!=-111) && (style!=-111);
702 if ((naxis<0) || (naxis>2))
return;
714 if ((naxis<0) || (naxis>2))
return;
794 if ((naxis<0) || (naxis>2))
return;
812 if (decimals) bits = bits | 1;
814 if (strchr(ticks,
'+')!=0) bits = bits | 2;
815 if (strchr(ticks,
'-')!=0) bits = bits | 4;
824 axis->GetAxisColor(),
825 axis->GetLabelColor(),
826 axis->GetLabelFont(),
827 axis->GetLabelOffset(),
828 axis->GetLabelSize(),
829 axis->GetNdivisions(),
830 axis->GetTickLength(),
831 axis->GetTitleColor(),
832 axis->GetTitleFont(),
833 axis->GetTitleOffset(),
834 axis->GetTitleSize(),
837 axis->TestBits(0x0ff0),
848 if ((axis==0) || (naxis<0) || (naxis>2))
return;
856 if (
GetOption (index, op+0, lv)) axis->SetAxisColor(lv);
857 if (
GetOption (index, op+1, lv)) axis->SetLabelColor(lv);
858 if (
GetOption (index, op+2, lv)) axis->SetLabelFont(lv);
859 if (
GetOptionF(index, op+3, fv)) axis->SetLabelOffset(fv);
860 if (
GetOptionF(index, op+4, fv)) axis->SetLabelSize(fv);
861 if (
GetOption (index, op+5, lv)) axis->SetNdivisions(lv);
862 if (
GetOptionF(index, op+6, fv)) axis->SetTickLength(fv);
863 if (
GetOption (index, op+7, lv)) axis->SetTitleColor(lv);
864 if (
GetOption (index, op+8, lv)) axis->SetTitleFont(lv);
865 if (
GetOptionF(index, op+9, fv)) axis->SetTitleOffset(fv);
866 if (
GetOptionF(index, op+10, fv)) axis->SetTitleSize(fv);
868 axis->SetDecimals((lv & 1) != 0);
870 if ((lv & 2) != 0) ticks+=
"+";
871 if ((lv & 4) != 0) ticks+=
"-";
872 axis->SetTicks(ticks.Data());
873 for(
int n=9;n<24;n++) {
876 axis->SetBit(mask, (lv & mask) != 0);
915 pad->GetBorderSize(),
946 if ((obj==0) || (cl==0))
return 0;
947 Int_t shift = obj->IsA()->GetBaseClassOffset(cl);
948 if (shift<0)
return 0;
949 return (
char*) obj + shift;
964 if ((TMath::Abs( pad->GetLeftMargin() - gStyle->GetPadLeftMargin()) > 0.001) ||
965 (TMath::Abs( pad->GetTopMargin() - gStyle->GetPadTopMargin()) > 0.001) ||
966 (TMath::Abs( pad->GetRightMargin() - gStyle->GetPadRightMargin()) > 0.001) ||
967 (TMath::Abs( pad->GetBottomMargin() - gStyle->GetPadBottomMargin()) > 0.001))
968 SetFrameAttr(pad->GetLeftMargin(), pad->GetTopMargin(), pad->GetRightMargin(), pad->GetBottomMargin());
973 if (pad==0)
return kFALSE;
996 Int_t optstat,
const char* statformat,
997 Int_t optfit,
const char* fitformat)
1014 stats->GetX2NDC(), stats->GetY2NDC(),
1015 stats->GetOptStat(), stats->GetStatFormat(),
1016 stats->GetOptFit(), stats->GetFitFormat());
1021 if (stats==0)
return kFALSE;
1023 Double_t x1, y1, x2, y2;
1028 stats->SetX1NDC(x1);
1029 stats->SetY1NDC(y1);
1030 stats->SetX2NDC(x2);
1031 stats->SetY2NDC(y2);
1032 stats->ConvertNDCtoPad();
1035 Long_t optstat, optfit;
1037 stats->SetOptStat(optstat);
1040 stats->SetOptFit(optfit);
1043 if (fmtstat!=0) stats->SetStatFormat(fmtstat);
1046 if (fmtfit!=0) stats->SetFitFormat(fmtfit);
1090 titl->GetX2NDC(), titl->GetY2NDC(),
1091 titl->GetTextSize());
1106 if (titl==0)
return kFALSE;
1108 Double_t x1, y1, x2, y2, sz(0.);
1117 titl->ConvertNDCtoPad();
1121 titl->SetTextSize(sz);
1123 titl->SetTextSize(0);
1279 if ((numdim==1) && !
GetRange(1, min, max)) {
1283 if ((numdim==2) && !
GetRange(1, min, max)) {
1344 for(
int n=0;n<3;n++)
1360 if (source==0)
return;
1363 SetName(source->GetName());
1364 SetTitle(source->GetTitle());
1422 Long_t zn = index + 1 + (typ << 16);
1430 Long_t zn = index + 1 + (typ << 16);
1452 if (pos<0)
return kFALSE;
1460 if (!
GetOption(index, typ, value))
return def;
1467 if (
sizeof(Long_t)==
sizeof(Float_t))
1468 memcpy(&buf, &value,
sizeof(Long_t));
1471 memcpy(&buf, &v,
sizeof(Long_t));
1479 Bool_t res =
GetOption(index, typ, buf);
1482 if (
sizeof(Long_t)==
sizeof(Float_t))
1483 memcpy(&value, &buf,
sizeof(Long_t));
1486 memcpy(&v, &buf,
sizeof(Long_t));
1496 if (
sizeof(Long_t)==
sizeof(Float_t)) {
1498 memcpy(&buf, &v,
sizeof(Long_t));
1500 memcpy(&buf, &value,
sizeof(Long_t));
1507 Bool_t res =
GetOption(index, typ, buf);
1510 if (
sizeof(Long_t)==
sizeof(Float_t)) {
1512 memcpy(&v, &buf,
sizeof(Long_t));
1515 memcpy(&value, &buf,
sizeof(Long_t));
1523 if (!
GetOptionD(index, typ, value))
return def;
1552 if (pos<0)
return 0;
1558 if (value==0)
return;
1564 TObjString* ostr =
dynamic_cast<TObjString*
> (
GetObjOption(index, typ));
1565 if (ostr==0)
return defvalue;
1566 return ostr->String().Data();
1584 if (style==0)
return;
1593 if (pos<0)
return 0;
1602 style =
new TStyle(*gStyle);
1667 if (strcmp(
GetObjName(n),obj->GetName())==0)
return n;
1677 for(Int_t posx=0; posx<
GetDivX(); posx++)
1678 for(Int_t posy=0; posy<
GetDivY(); posy++) {
1680 if (sub) sub->
DrawPic(pad->GetPad(posy*GetDivX() + posx + 1));
1684 TString str =
"Obj: ";
1687 if ((opt==0) && (indx==0))
1693 TText* txt =
new TText(0.1, txt_y, str.Data());
1708 c = gPad->GetCanvas();
1715 TString txt = c->GetName();
1718 if (strcmp(GetName(), GetTitle())!=0) {
1722 c->SetTitle(txt.Data());
1730 for (
int n=0;n<shift;n++) std::cout <<
' ';
1732 std::cout <<
"Divided numx:" <<
GetDivX() <<
" numy:" <<
GetDivY() << std::endl;
1733 for(Int_t posx=0; posx<
GetDivX(); posx++)
1734 for(Int_t posy=0; posy<
GetDivY(); posy++) {
1735 for (
int n=0;n<shift+2;n++) std::cout <<
' ';
1736 std::cout <<
"subpic x:" << posx <<
" y:" << posy << std::endl;
1738 if (sub) sub->
PrintPic(shift+4, showopt);
1741 std::cout <<
"Objects:" << std::endl;
1744 for (
int n=0;n<shift+2;n++) std::cout <<
' ';
1745 std::cout << objname;
1748 if (drawopt) std::cout <<
" opt: " << drawopt;
1749 std::cout << std::endl;
1751 if (!showopt)
return;
1752 for (
int n=0;n<shift;n++) std::cout <<
' ';
1753 std::cout <<
"Options:" << std::endl;
1757 for (
int n=0;n<shift+2;n++) std::cout <<
' ';
1758 std::cout << indx <<
" " << op <<
" " <<
fxOptValue[nop] << std::endl;
1765 std::cout <<
"Picture " << GetName() << std::endl;
1766 ((
TGo4Picture*)
this)->PrintPic(2, (strstr(option,
"attr")!=0));
1771 if (pic == 0)
return;
1791 #if ROOT_VERSION_CODE > ROOT_VERSION(5,9,0)
1792 TObject* obj = TBufferXML::ConvertFromXML(xmlcode);
1799 Long_t sz = IsA()->Size();
1802 sz += TObjArray::Class()->Size() +
fxNames->GetSize() *
sizeof(
void*);
1803 for (
int n=0;n<=
fxNames->GetLast();n++) {
1804 TObjString* str = (TObjString*)
fxNames->At(n);
1805 if (str) sz += str->IsA()->Size() + str->GetString().Length();
1810 sz += TObjArray::Class()->Size() +
fxSubPictures->GetSize() *
sizeof(
void*);
1813 sz += TObjArray::Class()->Size() +
fxOptObjects->GetSize() *
sizeof(
void*);
1816 if (obj) sz += obj->IsA()->Size();
1821 sz += TList::Class()->Size();
1825 while ((obj = iter()) != 0)
1826 sz +=
sizeof(TObjLink) + obj->IsA()->Size();
1833 for(
int ny=0;ny<
GetDivY();ny++)
1834 for(
int nx=0;nx<
GetDivX();nx++)
1841 #if ROOT_VERSION_CODE > ROOT_VERSION(5,11,6)
1847 fs <<
"TGo4Picture *" << GetName() <<
" = new TGo4Picture(\"" << GetName()
1848 <<
"\", \"" << GetTitle() <<
"\");" << std::endl;
1849 TString name = GetName();
1852 fs << name <<
"SetCrosshair(" << (IsCrosshair() ?
"true" :
"false") <<
");" << std::endl;
1854 MakeScript(fs, name.Data());
1859 if ((naxis<0) || (naxis>2))
return;
1860 const char* axisname =
"X";
1862 if (naxis==1) { op =
op_AxisY; axisname =
"Y"; }
else
1863 if (naxis==2) { op =
op_AxisZ; axisname =
"Z"; }
1867 if (!
GetOption (index, op+0, lv))
return;
1869 fs << name <<
"SetAxisAtt(" << naxis <<
", ";
1871 if (!
GetOption (index, op+1, lv)) lv = gStyle->GetLabelColor(axisname);
1873 if (!
GetOption (index, op+2, lv)) lv = gStyle->GetLabelFont(axisname);
1875 if (!
GetOptionF(index, op+3, fv)) fv = gStyle->GetLabelOffset(axisname);
1877 if (!
GetOptionF(index, op+4, fv)) fv = gStyle->GetLabelSize(axisname);
1879 if (!
GetOption (index, op+5, lv)) lv = gStyle->GetNdivisions(axisname);
1881 if (!
GetOptionF(index, op+6, fv)) fv = gStyle->GetTickLength(axisname);
1883 if (!
GetOption (index, op+7, lv)) lv = gStyle->GetTitleColor(axisname);
1885 if (!
GetOption (index, op+8, lv)) lv = gStyle->GetTitleFont(axisname);
1887 if (!
GetOptionF(index, op+9, fv)) fv = gStyle->GetTitleOffset(axisname);
1889 if (!
GetOptionF(index, op+10, fv)) fv = gStyle->GetTitleSize(axisname);
1893 if ((lv & 1) != 0) fs <<
"kTRUE, ";
1894 else fs <<
"kFALSE, ";
1896 if ((lv & 2) != 0) ticks+=
"+";
1897 if ((lv & 4) != 0) ticks+=
"-";
1898 fs <<
"\"" << ticks <<
"\", ";
1899 fs << (lv & 0x0ff0) <<
", ";
1901 fs <<
"kTRUE, \"+\", 0, ";
1903 fs << index <<
");" << std::endl;
1925 for(Int_t naxis=0;naxis<3;naxis++)
1927 fs << name <<
"SetLogScale(" << naxis <<
", 1);" << std::endl;
1931 fs << name <<
"SetRangeX(" << min <<
", " << max <<
");" << std::endl;
1933 fs << name <<
"SetRangeY(" << min <<
", " << max <<
");" << std::endl;
1935 fs << name <<
"SetRangeZ(" << min <<
", " << max <<
");" << std::endl;
1937 Double_t v1,v2,v3,v4;
1942 fs << name <<
"SetFrameAttr(" << v1 <<
", " << v2 <<
", " << v3 <<
", " << v4 <<
");" << std::endl;
1950 fs << name <<
"SetLineAtt("
1951 << latt.GetLineColor() <<
", "
1952 << latt.GetLineStyle() <<
", "
1953 << latt.GetLineWidth() <<
", " <<
PictureIndex <<
");" << std::endl;
1955 fs << name <<
"SetFillAtt("
1956 << fatt.GetFillColor() <<
", "
1957 << fatt.GetFillStyle() <<
", " <<
PictureIndex <<
");" << std::endl;
1959 fs << name <<
"SetMarkerAtt("
1960 << matt.GetMarkerColor() <<
", "
1961 << matt.GetMarkerSize() <<
", "
1962 << matt.GetMarkerStyle()<<
", " <<
PictureIndex <<
");" << std::endl;
1964 fs << name <<
"SetHisStats(" << (
IsHisStats() ?
"true" :
"false") <<
");" << std::endl;
1967 fs << name <<
"SetStatsAttr("
1978 fs << name <<
"SetHisTitle(" << (
IsHisTitle() ?
"true" :
"false") <<
");" << std::endl;
1980 fs << name <<
"SetTitleAttr("
1990 fs <<
");" << std::endl;
1992 fs << name <<
"SetTitleTime(" << (
IsTitleTime() ?
"true" :
"false") <<
");" << std::endl;
1993 fs << name <<
"SetTitleDate(" << (
IsTitleDate() ?
"true" :
"false") <<
");" << std::endl;
1994 fs << name <<
"SetTitleItem(" << (
IsTitleItem() ?
"true" :
"false") <<
");" << std::endl;
1998 if (nlvl>0) fs << name <<
"SetHisContour(" << nlvl <<
");" << std::endl;
2000 fs << name <<
"SetAutoScale(" << (
IsAutoScale() ?
"true" :
"false") <<
");" << std::endl;
2003 fs << name <<
"SetSuperimpose(true);" << std::endl;
2004 fs << name <<
"SetLegendDraw(" << (
IsLegendDraw() ?
"true" :
"false") <<
");" << std::endl;
2007 fs << name <<
"SetApplyToAll(" << (
IsApplyToAll() ?
"true" :
"false") <<
");" << std::endl;
2008 fs << name <<
"SetAutoZoom(" << (
IsAutoZoom() ?
"true" :
"false") <<
");" << std::endl;
2011 fs << name <<
"SetXYRatioOne(" << (
IsXYRatioOne() ?
"true" :
"false") <<
");" << std::endl;
2016 fs << name <<
"SetPadAtt(";
2032 fs << lv <<
");" << std::endl;
2036 fs << name <<
"SetDrawOption(\"" << drawopt <<
"\", " <<
PictureIndex <<
");" << std::endl;
2039 Bool_t tdisp=kFALSE;
2042 fs << name <<
"SetXAxisAttTime(";
2043 fs << tdisp <<
", ";
2044 fs <<
"\"" << format.Data()<<
"\"" <<
", ";
2052 fs << name <<
"AddObjName(\"" << objname <<
"\"";
2053 if (objopt!=0) fs <<
", \"" << objopt <<
"\"";
2054 fs <<
");" << std::endl;
2056 fs << name <<
"SetLineAtt("
2057 << latt.GetLineColor() <<
", "
2058 << latt.GetLineStyle() <<
", "
2059 << latt.GetLineWidth() <<
", " << indx <<
");" << std::endl;
2061 fs << name <<
"SetFillAtt("
2062 << fatt.GetFillColor() <<
", "
2063 << fatt.GetFillStyle() <<
", " << indx <<
");" << std::endl;
2065 fs << name <<
"SetMarkerAtt("
2066 << matt.GetMarkerColor() <<
", "
2067 << matt.GetMarkerSize() <<
", "
2068 << matt.GetMarkerStyle() <<
", " << indx <<
");" << std::endl;
2075 fs << name <<
"SetRebinX(" <<
GetRebinX(indx) <<
", " << indx <<
");" << std::endl;
2078 fs << name <<
"SetRebinY(" <<
GetRebinY(indx) <<
", " << indx <<
");" << std::endl;
2081 #if ROOT_VERSION_CODE > ROOT_VERSION(5,9,0)
2084 while ((obj=iter())!=0) {
2086 TString xmlbuf = TBufferXML::ConvertToXML(obj);
2088 TString buf = xmlbuf;
2092 buf.ReplaceAll(
"\n ",
"\n");
2093 }
while (len!=buf.Length());
2095 buf.ReplaceAll(
"\n",
" ");
2096 buf.ReplaceAll(
"\"",
"\\\"");
2101 if (buf.Length()>950) {
2102 fs <<
"TString sbuf = \"\";" << std::endl;
2103 const char* pos = xmlbuf.Data();
2105 const char* lastpos = pos;
2106 while ((*pos !=0) && (*pos!=
'\n')) pos++;
2107 TString subbuf(lastpos, pos-lastpos);
2108 subbuf.ReplaceAll(
"\"",
"\\\"");
2109 fs <<
"TGo4Picture::Add(sbuf,\"" << subbuf <<
"\");" << std::endl;
2116 fs << name <<
"AddSpecialObjectXml(" << buf;
2118 Option_t* opt = iter.GetOption();
2120 if ((opt!=0) && (*opt!=0))
2121 fs <<
", \"" << opt <<
"\"";
2122 fs <<
");" << std::endl;
2127 fs << name <<
"SetDivision(" <<
GetDivY() <<
", " <<
GetDivX() <<
");" << std::endl;
2128 for(
int ny=0;ny<
GetDivY();ny++)
2129 for(
int nx=0;nx<
GetDivX();nx++) {
2130 TString subname = name;
void SetStyle(TStyle *style, Int_t index=UndefIndex)
void SetRange(Int_t naxis, Double_t min, Double_t max)
void SetTitleTime(Bool_t on=kTRUE)
void ClearOption(Short_t index, Short_t typ)
void SetHisContour(Int_t nlvl)
bool IsContentModified() const
virtual void SavePrimitive(std::ofstream &fs, Option_t *="")
const char * GetXAxisTimeFormat()
Bool_t GetFillAtt(TAttFill *fill, Int_t index=UndefIndex)
void AddH1(TH1 *histo, Option_t *DrawOption=0)
void SetAutoZoom(bool on)
void UpdateFrom(TGo4Picture *source, TClass *selectedobjclass=0)
void AddObjName(const char *name, Option_t *DrawOption=0)
void SetPosition(Int_t posy, Int_t posx)
TObjArray * fxSubPictures
Bool_t GetRangeX(Double_t &min, Double_t &max)
Int_t GetLogScale(Int_t nscale=0)
void SetRangeY(Double_t min, Double_t max)
void SetCrosshair(bool on)
void SetDrawHeader(Bool_t draw=kTRUE)
Int_t FindOptPos(Short_t index, Short_t typ) const
void SetObjOption(Short_t index, Short_t typ, TObject *obj)
void GetAxisAtt(Int_t naxis, TAxis *axis, Int_t index=UndefIndex)
void GetPadAtt(TPad *pad, Int_t index=UndefIndex)
void CopyOptionsFrom(TGo4Picture *source)
virtual Option_t * GetDrawOption()
const char * GetObjName(Int_t n)
TStyle * FindStyle(Int_t index=UndefIndex)
virtual void Draw(Option_t *option="")
Bool_t IsHisStats() const
Bool_t CheckPosition(Int_t posy, Int_t posx)
Bool_t GetTitleAttr(TPaveText *titl)
void SetStrOption(Short_t index, Short_t typ, const char *value)
void AddSpecialObjectXml(const char *xmlcode, Option_t *drawopt=0)
void PrintPic(int shift, Bool_t showopt)
Bool_t GetFullRange(Int_t naxis, Double_t &min, Double_t &max)
void ClearAllOptions(Short_t index=UndefIndex)
Int_t GetRebinY(Int_t index=UndefIndex)
void SetAxisAtt(Int_t naxis, Color_t AxisColor, Color_t LabelColor, Style_t LabelFont, Float_t LabelOffset, Float_t LabelSize, Int_t Ndivisions, Float_t TickLength, Color_t TitleColor, Style_t TitleFont, Float_t TitleOffset, Float_t TitleSize, Bool_t decimals, const char *ticks, Int_t bits, Int_t index=UndefIndex)
void GetH1Att(TH1 *h1, Int_t index=UndefIndex)
void ClearFillAtt(Int_t index=UndefIndex)
void SetOptionD(Short_t index, Short_t typ, Double_t value)
void SetHisTitle(bool on)
void SetAxisTitleFontSize(Int_t naxis, Float_t TitleSize, Int_t index=UndefIndex)
Bool_t GetRangeY(Double_t &min, Double_t &max)
void SetTitleItem(Bool_t on=kTRUE)
void SetAxisLabelFontSize(Int_t naxis, Float_t LabelSize, Int_t index=UndefIndex)
void * Cast(TObject *obj, TClass *cl)
void SetXAxisTimeFormat(const char *format)
void ChangeDrawOption(Int_t kind, Int_t value)
void ClearLineAtt(Int_t index=UndefIndex)
void DrawPic(TVirtualPad *pad)
TGo4Picture * Pic(Int_t posy, Int_t posx)
Bool_t GetStatsAttr(TPaveStats *stats)
bool IsApplyToAll() const
void SetApplyToAll(bool on)
void ClearRebin(Int_t index=UndefIndex)
void AddHStack(THStack *st, Option_t *DrawOption=0)
void SetFullRangeDim(Int_t ndim)
void SetPadAtt(Int_t BorderMode, Int_t BorderSize, Int_t Gridx, Int_t Gridy, Double_t Phi, Double_t Theta, Int_t Tickx, Int_t Ticky, Int_t index=PictureIndex)
void SetDivision(Int_t ndivy, Int_t ndivx)
virtual void Clear(Option_t *option="")
void SetStatsAttr(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Int_t optstat=1111, const char *statformat="6.4g", Int_t optfit=1111, const char *fitformat="5.4g")
void SetH1Att(TH1 *h1, Int_t index=UndefIndex)
void AddObject(TObject *obj, Option_t *DrawOption=0)
void SetXAxisTimeDisplay(Bool_t on)
void SetRebinY(Int_t ngroupy, Int_t index=UndefIndex)
void AddSubPicture(TGo4Picture *pic)
Bool_t GetOptionF(Short_t index, Short_t typ, Float_t &value)
void SetXYRatioOne(Bool_t on)
const char * GetStrOption(Short_t index, Short_t typ, const char *defvalue=0)
void GetLogScales(TVirtualPad *pad)
void SetLogScale(Int_t nscale=0, Int_t zn=1)
Bool_t GetFrameAttr(TPad *pad)
bool IsSuperimpose() const
Bool_t GetOption(Short_t index, Short_t typ, Long_t &value) const
Bool_t GetRange(Int_t naxis, Double_t &min, Double_t &max)
void AddGraph(TGraph *gr, Option_t *DrawOption=0)
void SetOptionF(Short_t index, Short_t typ, Float_t value)
void SetLegendDraw(bool on)
Int_t GetObjAttIndex(TObject *obj)
Bool_t IsXAxisTimeDisplay()
bool IsPadModified() const
Int_t ExtendOptPos(Short_t index, Short_t typ)
Long_t GetI(Short_t index, Short_t typ, Long_t def=0) const
void ClearMarkerAtt(Int_t index=UndefIndex)
void AddCondition(TNamed *cond=0)
void SetOption(Short_t index, Short_t typ, Long_t value)
Int_t GetHisContour() const
void SetLineAtt(Color_t color, Style_t style, Width_t width, Int_t index=UndefIndex)
TGo4Picture * FindPic(Int_t posy, Int_t posx)
void SetHisStats(Bool_t on)
void SetLinesDivision(Int_t numlines, const Int_t *numbers)
void CheckIndex(Int_t &index)
void SetMarkerAtt(Color_t color, Size_t size, Style_t style, Int_t index=UndefIndex)
TObject * GetObjOption(Short_t index, Short_t typ)
void SetFullRange(Int_t naxis, Double_t min, Double_t max)
void SetRangeX(Double_t min, Double_t max)
void MakeAxisScript(std::ostream &fs, const char *name, Int_t indx, Int_t naxis)
void SetFrameAttr(Double_t left, Double_t top, Double_t right, Double_t bottom)
void SetFillAtt(Color_t color, Style_t style, Int_t index=UndefIndex)
void ClearObjNames(Bool_t recursive=kFALSE)
Bool_t GetRangeZ(Double_t &min, Double_t &max)
Bool_t IsHisTitle() const
bool IsLegendDraw() const
void GetDrawAttributes(TObject *obj, Int_t index=UndefIndex)
void SetSuperimpose(bool on)
void SetRangeZ(Double_t min, Double_t max)
Bool_t IsTitleDate() const
Bool_t GetMarkerAtt(TAttMarker *marker, Int_t index=UndefIndex)
void SetDrawAttributes(TObject *obj, Int_t index=UndefIndex)
void SetPadModified(bool on=true)
void ClearFullRange(Int_t naxis=-1)
TStyle * GetStyle(Int_t index=UndefIndex)
Bool_t GetOptionD(Short_t index, Short_t typ, Double_t &value)
void SetAutoScale(bool on)
void MakeScript(std::ostream &fs, const char *name)
Int_t GetRebinX(Int_t index=UndefIndex)
Int_t GetFullRangeDim() const
Bool_t GetLineAtt(TAttLine *line, Int_t index=UndefIndex)
void SetContentModified(bool on=true)
void AddSpecialObject(TObject *obj, Option_t *drawopt=0)
Bool_t IsTitleItem() const
Bool_t IsTitleTime() const
virtual void Print(Option_t *option="") const
void SetTitleDate(Bool_t on=kTRUE)
void SetRebinX(Int_t ngroupx, Int_t index=UndefIndex)
Double_t GetD(Short_t index, Short_t typ, Double_t def=0.)
virtual void SetDrawOption(Option_t *option="")
TGo4Picture * LPic(Int_t nline, Int_t ncol)
void ClearRange(Int_t naxis=-1)
void SetXAxisAttTime(Bool_t timedisplay, const char *format, Int_t index=UndefIndex)
void SetTitleAttr(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t textsize=0.)
TList * GetSpecialObjects() const