16 #include "RConfigure.h"
18 #include "TObjArray.h"
19 #include "TObjString.h"
20 #include "TVirtualPad.h"
33 #include "TAttMarker.h"
34 #include "TPaveStats.h"
35 #include "TBufferXML.h"
208 fiNDivX = (ndivx < 1) ? 1 : ndivx;
209 fiNDivY = (ndivy < 1) ? 1 : ndivy;
215 if (posx<0) posx=0;
else {
if(posx>=
GetDivX()) posx =
GetDivX()-1; }
216 if (posy<0) posy=0;
else {
if(posy>=
GetDivY()) posy =
GetDivY()-1; }
231 if (sub!=0)
return sub;
245 for (Int_t n=0;n<numlines;n++)
250 Int_t n0, Int_t n1, Int_t n2, Int_t n3, Int_t n4,
251 Int_t n5, Int_t n6, Int_t n7, Int_t n8, Int_t n9)
253 const Int_t numbers[10] = { n0, n1, n2, n3, n4, n5, n6, n7, n8, n9};
261 if (sub==0)
return 0;
283 AddObject(posy, posx, histo, DrawOption);
323 fxNames->Add(
new TObjString(name));
371 TObjString* str =
dynamic_cast<TObjString*
> (
fxNames->At(n));
372 if (str!=0)
return str->String().Data();
385 AddObjName(posy, posx, obj->GetName(), DrawOption);
504 if (pad == 0)
return;
537 if (line==0)
return kFALSE;
539 Long_t color = -111, style=-111, width=-111;
543 return (color!=-111) && (style!=-111) && (width!=-111);
571 if (fill==0)
return kFALSE;
573 Long_t color = -111, style = -111;
576 return (color!=-111) && (style!=-111);
596 if (marker==0)
return;
605 if (marker==0)
return kFALSE;
607 Long_t color=-111, size=-111, style=-111;
611 return (color!=-111) && (size!=-111) && (style!=-111);
701 if ((naxis<0) || (naxis>2))
return;
713 if ((naxis<0) || (naxis>2))
return;
793 if ((naxis<0) || (naxis>2))
return;
811 if (decimals) bits = bits | 1;
813 if (strchr(ticks,
'+')!=0) bits = bits | 2;
814 if (strchr(ticks,
'-')!=0) bits = bits | 4;
823 axis->GetAxisColor(),
824 axis->GetLabelColor(),
825 axis->GetLabelFont(),
826 axis->GetLabelOffset(),
827 axis->GetLabelSize(),
828 axis->GetNdivisions(),
829 axis->GetTickLength(),
830 axis->GetTitleColor(),
831 axis->GetTitleFont(),
832 axis->GetTitleOffset(),
833 axis->GetTitleSize(),
836 axis->TestBits(0x0ff0),
847 if ((axis==0) || (naxis<0) || (naxis>2))
return;
855 if (
GetOption (index, op+0, lv)) axis->SetAxisColor(lv);
856 if (
GetOption (index, op+1, lv)) axis->SetLabelColor(lv);
857 if (
GetOption (index, op+2, lv)) axis->SetLabelFont(lv);
858 if (
GetOptionF(index, op+3, fv)) axis->SetLabelOffset(fv);
859 if (
GetOptionF(index, op+4, fv)) axis->SetLabelSize(fv);
860 if (
GetOption (index, op+5, lv)) axis->SetNdivisions(lv);
861 if (
GetOptionF(index, op+6, fv)) axis->SetTickLength(fv);
862 if (
GetOption (index, op+7, lv)) axis->SetTitleColor(lv);
863 if (
GetOption (index, op+8, lv)) axis->SetTitleFont(lv);
864 if (
GetOptionF(index, op+9, fv)) axis->SetTitleOffset(fv);
865 if (
GetOptionF(index, op+10, fv)) axis->SetTitleSize(fv);
867 axis->SetDecimals((lv & 1) != 0);
869 if ((lv & 2) != 0) ticks+=
"+";
870 if ((lv & 4) != 0) ticks+=
"-";
871 axis->SetTicks(ticks.Data());
872 for(
int n=9;n<24;n++) {
875 axis->SetBit(mask, (lv & mask) != 0);
914 pad->GetBorderSize(),
945 if ((obj==0) || (cl==0))
return 0;
946 Int_t shift = obj->IsA()->GetBaseClassOffset(cl);
947 if (shift<0)
return 0;
948 return (
char*) obj + shift;
963 if ((TMath::Abs( pad->GetLeftMargin() - gStyle->GetPadLeftMargin()) > 0.001) ||
964 (TMath::Abs( pad->GetTopMargin() - gStyle->GetPadTopMargin()) > 0.001) ||
965 (TMath::Abs( pad->GetRightMargin() - gStyle->GetPadRightMargin()) > 0.001) ||
966 (TMath::Abs( pad->GetBottomMargin() - gStyle->GetPadBottomMargin()) > 0.001))
967 SetFrameAttr(pad->GetLeftMargin(), pad->GetTopMargin(), pad->GetRightMargin(), pad->GetBottomMargin());
972 if (pad==0)
return kFALSE;
995 Int_t optstat,
const char* statformat,
996 Int_t optfit,
const char* fitformat)
1013 stats->GetX2NDC(), stats->GetY2NDC(),
1014 stats->GetOptStat(), stats->GetStatFormat(),
1015 stats->GetOptFit(), stats->GetFitFormat());
1020 if (stats==0)
return kFALSE;
1022 Double_t x1, y1, x2, y2;
1027 stats->SetX1NDC(x1);
1028 stats->SetY1NDC(y1);
1029 stats->SetX2NDC(x2);
1030 stats->SetY2NDC(y2);
1031 stats->ConvertNDCtoPad();
1034 Long_t optstat, optfit;
1036 stats->SetOptStat(optstat);
1039 stats->SetOptFit(optfit);
1042 if (fmtstat!=0) stats->SetStatFormat(fmtstat);
1045 if (fmtfit!=0) stats->SetFitFormat(fmtfit);
1089 titl->GetX2NDC(), titl->GetY2NDC(),
1090 titl->GetTextSize());
1103 if (titl==0)
return kFALSE;
1105 Double_t x1, y1, x2, y2, sz(0.);
1114 titl->ConvertNDCtoPad();
1118 titl->SetTextSize(sz);
1120 titl->SetTextSize(0);
1275 if ((numdim==1) && !
GetRange(1, min, max)) {
1279 if ((numdim==2) && !
GetRange(1, min, max)) {
1339 for (
int n = 0; n < 3; n++)
1355 if (source==0)
return;
1358 SetName(source->GetName());
1359 SetTitle(source->GetTitle());
1377 for (Int_t n = 0; n <= source->
fxSubPictures->GetLast(); n++) {
1418 Long_t zn = index + 1 + (typ << 16);
1426 Long_t zn = index + 1 + (typ << 16);
1448 if (pos<0)
return kFALSE;
1456 if (!
GetOption(index, typ, value))
return def;
1466 memcpy(&buf, &v,
sizeof(Long_t));
1468 memcpy(&buf, &value,
sizeof(Long_t));
1476 Bool_t res =
GetOption(index, typ, buf);
1481 memcpy(&v, &buf,
sizeof(Long_t));
1484 memcpy(&value, &buf,
sizeof(Long_t));
1494 memcpy(&buf, &value,
sizeof(Long_t));
1497 memcpy(&buf, &v,
sizeof(Long_t));
1505 Bool_t res =
GetOption(index, typ, buf);
1509 memcpy(&value, &buf,
sizeof(Long_t));
1512 memcpy(&v, &buf,
sizeof(Long_t));
1522 if (!
GetOptionD(index, typ, value))
return def;
1550 if (pos < 0)
return 0;
1556 if (value==0)
return;
1562 TObjString *ostr =
dynamic_cast<TObjString*
> (
GetObjOption(index, typ));
1563 if (!ostr)
return defvalue;
1564 return ostr->String().Data();
1582 if (style==0)
return;
1591 if (pos<0)
return 0;
1600 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))
1694 TText* txt =
new TText(0.1, txt_y, str.Data());
1697 if (numobj < 8) txt_y -= 0.1;
1698 else txt_y -= 0.8/numobj;
1709 c = gPad->GetCanvas();
1716 TString txt = c->GetName();
1719 if (strcmp(GetName(), GetTitle())!=0) {
1723 c->SetTitle(txt.Data());
1731 for (
int n=0;n<shift;n++) std::cout <<
' ';
1733 std::cout <<
"Divided numx:" <<
GetDivX() <<
" numy:" <<
GetDivY() << std::endl;
1734 for(Int_t posx=0; posx<
GetDivX(); posx++)
1735 for(Int_t posy=0; posy<
GetDivY(); posy++) {
1736 for (
int n=0;n<shift+2;n++) std::cout <<
' ';
1737 std::cout <<
"subpic x:" << posx <<
" y:" << posy << std::endl;
1739 if (sub) sub->
PrintPic(shift+4, showopt);
1742 std::cout <<
"Objects:" << std::endl;
1745 for (
int n=0;n<shift+2;n++) std::cout <<
' ';
1746 std::cout << objname;
1749 if (drawopt) std::cout <<
" opt: " << drawopt;
1750 std::cout << std::endl;
1752 if (!showopt)
return;
1753 for (
int n=0;n<shift;n++) std::cout <<
' ';
1754 std::cout <<
"Options:" << std::endl;
1758 for (
int n=0;n<shift+2;n++) std::cout <<
' ';
1759 std::cout << indx <<
" " << op <<
" " <<
fxOptValue[nop] << std::endl;
1766 std::cout <<
"Picture " << GetName() << std::endl;
1767 ((
TGo4Picture*)
this)->PrintPic(2, (strstr(option,
"attr")!=0));
1772 if (pic == 0)
return;
1792 TObject* obj = TBufferXML::ConvertFromXML(xmlcode);
1798 Long_t sz = IsA()->Size();
1801 sz += TObjArray::Class()->Size() +
fxNames->GetSize() *
sizeof(
void*);
1802 for (
int n=0;n<=
fxNames->GetLast();n++) {
1803 TObjString* str = (TObjString*)
fxNames->At(n);
1804 if (str) sz += str->IsA()->Size() + str->GetString().Length();
1809 sz += TObjArray::Class()->Size() +
fxSubPictures->GetSize() *
sizeof(
void*);
1812 sz += TObjArray::Class()->Size() +
fxOptObjects->GetSize() *
sizeof(
void*);
1815 if (obj) sz += obj->IsA()->Size();
1820 sz += TList::Class()->Size();
1824 while ((obj = iter()) != 0)
1825 sz +=
sizeof(TObjLink) + obj->IsA()->Size();
1832 for(
int ny=0;ny<
GetDivY();ny++)
1833 for(
int nx=0;nx<
GetDivX();nx++)
1842 fs <<
"TGo4Picture *" << GetName() <<
" = new TGo4Picture(\"" << GetName()
1843 <<
"\", \"" << GetTitle() <<
"\");" << std::endl;
1844 TString name = GetName();
1847 fs << name <<
"SetCrosshair(" << (
IsCrosshair() ?
"true" :
"false") <<
");" << std::endl;
1854 if ((naxis<0) || (naxis>2))
return;
1855 const char* axisname =
"X";
1857 if (naxis==1) { op =
op_AxisY; axisname =
"Y"; }
else
1858 if (naxis==2) { op =
op_AxisZ; axisname =
"Z"; }
1862 if (!
GetOption (index, op+0, lv))
return;
1864 fs << name <<
"SetAxisAtt(" << naxis <<
", ";
1866 if (!
GetOption (index, op+1, lv)) lv = gStyle->GetLabelColor(axisname);
1868 if (!
GetOption (index, op+2, lv)) lv = gStyle->GetLabelFont(axisname);
1870 if (!
GetOptionF(index, op+3, fv)) fv = gStyle->GetLabelOffset(axisname);
1872 if (!
GetOptionF(index, op+4, fv)) fv = gStyle->GetLabelSize(axisname);
1874 if (!
GetOption (index, op+5, lv)) lv = gStyle->GetNdivisions(axisname);
1876 if (!
GetOptionF(index, op+6, fv)) fv = gStyle->GetTickLength(axisname);
1878 if (!
GetOption (index, op+7, lv)) lv = gStyle->GetTitleColor(axisname);
1880 if (!
GetOption (index, op+8, lv)) lv = gStyle->GetTitleFont(axisname);
1882 if (!
GetOptionF(index, op+9, fv)) fv = gStyle->GetTitleOffset(axisname);
1884 if (!
GetOptionF(index, op+10, fv)) fv = gStyle->GetTitleSize(axisname);
1888 if ((lv & 1) != 0) fs <<
"kTRUE, ";
1889 else fs <<
"kFALSE, ";
1891 if ((lv & 2) != 0) ticks+=
"+";
1892 if ((lv & 4) != 0) ticks+=
"-";
1893 fs <<
"\"" << ticks <<
"\", ";
1894 fs << (lv & 0x0ff0) <<
", ";
1896 fs <<
"kTRUE, \"+\", 0, ";
1898 fs << index <<
");" << std::endl;
1920 for(Int_t naxis=0;naxis<3;naxis++)
1922 fs << name <<
"SetLogScale(" << naxis <<
", 1);" << std::endl;
1926 fs << name <<
"SetRangeX(" << min <<
", " << max <<
");" << std::endl;
1928 fs << name <<
"SetRangeY(" << min <<
", " << max <<
");" << std::endl;
1930 fs << name <<
"SetRangeZ(" << min <<
", " << max <<
");" << std::endl;
1932 Double_t v1,v2,v3,v4;
1937 fs << name <<
"SetFrameAttr(" << v1 <<
", " << v2 <<
", " << v3 <<
", " << v4 <<
");" << std::endl;
1945 fs << name <<
"SetLineAtt("
1946 << latt.GetLineColor() <<
", "
1947 << latt.GetLineStyle() <<
", "
1948 << latt.GetLineWidth() <<
", " <<
PictureIndex <<
");" << std::endl;
1950 fs << name <<
"SetFillAtt("
1951 << fatt.GetFillColor() <<
", "
1952 << fatt.GetFillStyle() <<
", " <<
PictureIndex <<
");" << std::endl;
1954 fs << name <<
"SetMarkerAtt("
1955 << matt.GetMarkerColor() <<
", "
1956 << matt.GetMarkerSize() <<
", "
1957 << matt.GetMarkerStyle()<<
", " <<
PictureIndex <<
");" << std::endl;
1959 fs << name <<
"SetHisStats(" << (
IsHisStats() ?
"true" :
"false") <<
");" << std::endl;
1962 fs << name <<
"SetStatsAttr("
1973 fs << name <<
"SetHisTitle(" << (
IsHisTitle() ?
"true" :
"false") <<
");" << std::endl;
1975 fs << name <<
"SetTitleAttr("
1985 fs <<
");" << std::endl;
1987 fs << name <<
"SetTitleTime(" << (
IsTitleTime() ?
"true" :
"false") <<
");" << std::endl;
1988 fs << name <<
"SetTitleDate(" << (
IsTitleDate() ?
"true" :
"false") <<
");" << std::endl;
1989 fs << name <<
"SetTitleItem(" << (
IsTitleItem() ?
"true" :
"false") <<
");" << std::endl;
1993 if (nlvl>0) fs << name <<
"SetHisContour(" << nlvl <<
");" << std::endl;
1995 fs << name <<
"SetAutoScale(" << (
IsAutoScale() ?
"true" :
"false") <<
");" << std::endl;
1998 fs << name <<
"SetSuperimpose(true);" << std::endl;
1999 fs << name <<
"SetLegendDraw(" << (
IsLegendDraw() ?
"true" :
"false") <<
");" << std::endl;
2002 fs << name <<
"SetApplyToAll(" << (
IsApplyToAll() ?
"true" :
"false") <<
");" << std::endl;
2003 fs << name <<
"SetAutoZoom(" << (
IsAutoZoom() ?
"true" :
"false") <<
");" << std::endl;
2006 fs << name <<
"SetXYRatioOne(" << (
IsXYRatioOne() ?
"true" :
"false") <<
");" << std::endl;
2011 fs << name <<
"SetPadAtt(";
2027 fs << lv <<
");" << std::endl;
2031 fs << name <<
"SetDrawOption(\"" << drawopt <<
"\", " <<
PictureIndex <<
");" << std::endl;
2034 Bool_t tdisp=kFALSE;
2037 fs << name <<
"SetXAxisAttTime(";
2038 fs << tdisp <<
", ";
2039 fs <<
"\"" << format.Data()<<
"\"" <<
", ";
2047 fs << name <<
"AddObjName(\"" << objname <<
"\"";
2048 if (objopt!=0) fs <<
", \"" << objopt <<
"\"";
2049 fs <<
");" << std::endl;
2051 fs << name <<
"SetLineAtt("
2052 << latt.GetLineColor() <<
", "
2053 << latt.GetLineStyle() <<
", "
2054 << latt.GetLineWidth() <<
", " << indx <<
");" << std::endl;
2056 fs << name <<
"SetFillAtt("
2057 << fatt.GetFillColor() <<
", "
2058 << fatt.GetFillStyle() <<
", " << indx <<
");" << std::endl;
2060 fs << name <<
"SetMarkerAtt("
2061 << matt.GetMarkerColor() <<
", "
2062 << matt.GetMarkerSize() <<
", "
2063 << matt.GetMarkerStyle() <<
", " << indx <<
");" << std::endl;
2070 fs << name <<
"SetRebinX(" <<
GetRebinX(indx) <<
", " << indx <<
");" << std::endl;
2073 fs << name <<
"SetRebinY(" <<
GetRebinY(indx) <<
", " << indx <<
");" << std::endl;
2078 while ((obj=iter())!=0) {
2080 TString xmlbuf = TBufferXML::ConvertToXML(obj);
2082 TString buf = xmlbuf;
2086 buf.ReplaceAll(
"\n ",
"\n");
2087 }
while (len!=buf.Length());
2089 buf.ReplaceAll(
"\n",
" ");
2090 buf.ReplaceAll(
"\"",
"\\\"");
2095 if (buf.Length()>950) {
2096 fs <<
"TString sbuf = \"\";" << std::endl;
2097 const char* pos = xmlbuf.Data();
2099 const char* lastpos = pos;
2100 while ((*pos !=0) && (*pos!=
'\n')) pos++;
2101 TString subbuf(lastpos, pos-lastpos);
2102 subbuf.ReplaceAll(
"\"",
"\\\"");
2103 fs <<
"TGo4Picture::Add(sbuf,\"" << subbuf <<
"\");" << std::endl;
2110 fs << name <<
"AddSpecialObjectXml(" << buf;
2112 Option_t* opt = iter.GetOption();
2114 if ((opt!=0) && (*opt!=0))
2115 fs <<
", \"" << opt <<
"\"";
2116 fs <<
");" << std::endl;
2120 fs << name <<
"SetDivision(" <<
GetDivY() <<
", " <<
GetDivX() <<
");" << std::endl;
2121 for(
int ny=0;ny<
GetDivY();ny++)
2122 for(
int nx=0;nx<
GetDivX();nx++) {
2123 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
const char * GetXAxisTimeFormat()
Bool_t GetFillAtt(TAttFill *fill, Int_t index=UndefIndex)
Bool_t CheckPosition(Int_t posy, Int_t posx) const
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)
virtual void SavePrimitive(std::ostream &fs, Option_t *="")
TObjArray * fxSubPictures
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)
const char * GetObjName(Int_t n)
TStyle * FindStyle(Int_t index=UndefIndex)
Double_t GetD(Short_t index, Short_t typ, Double_t def=0.) const
virtual void Draw(Option_t *option="")
Bool_t IsHisStats() const
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 GetRange(Int_t naxis, Double_t &min, Double_t &max) const
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)
virtual Option_t * GetDrawOption() const
void SetAxisTitleFontSize(Int_t naxis, Float_t TitleSize, Int_t index=UndefIndex)
Bool_t GetOptionD(Short_t index, Short_t typ, Double_t &value) const
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)
const char * GetStrOption(Short_t index, Short_t typ, const char *defvalue=0) const
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="")
TObject * GetObjOption(Short_t index, Short_t typ) const
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)
void SetXYRatioOne(Bool_t on)
void GetLogScales(TVirtualPad *pad)
void CheckIndex(Int_t &index) const
void SetLogScale(Int_t nscale=0, Int_t zn=1)
Bool_t GetFrameAttr(TPad *pad)
bool IsSuperimpose() const
Bool_t GetOptionF(Short_t index, Short_t typ, Float_t &value) const
Bool_t GetOption(Short_t index, Short_t typ, Long_t &value) const
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
Bool_t GetRangeZ(Double_t &min, Double_t &max) 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)
Bool_t GetRangeY(Double_t &min, Double_t &max) const
void SetMarkerAtt(Color_t color, Size_t size, Style_t style, Int_t index=UndefIndex)
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 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 GetRangeX(Double_t &min, Double_t &max) const
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)
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