19 #ifndef TPadManipulator_H 20 #define TPadManipulator_H 48 Bounds() : x1(0.0), y1(0.0), x2(0.0), y2(0.0) { }
49 Bounds(
double ax1,
double ay1,
double ax2,
double ay2)
50 : x1(ax1), y1(ay1), x2(ax2), y2(ay2) { }
57 Bounds3(
double ax1,
double ay1,
double ax2,
double ay2,
double az1,
double az2)
58 :
Bounds(ax1, ay1, ax2, ay2), z1(az1), z2(az2) { }
124 TCanvas*
canvas(
bool doDraw =
false);
129 int put(
Name onam =
"tpad", TDirectory* tdir =
nullptr)
const;
149 unsigned int npad()
const;
172 TH1*
getHist(
unsigned int iobj);
195 TFrame*
frame()
const;
209 int addPad(
double x1,
double y1,
double x2,
double y2,
int icol =-1);
217 int add(
unsigned int ipad, TObject* pobj,
std::string sopt =
"",
bool replace =
false);
218 int add(TObject* pobj,
std::string sopt =
"",
bool replace =
false);
245 TLegend*
addLegend(
double x1,
double y1,
double x2,
double y2);
319 int setRangeXY(
double x1,
double x2,
double y1,
double y2);
369 int addVerticalLine(
double xoff =0.0,
double lenfrac =1.0,
int isty =1);
374 int addSlopedLine(
double slop,
double yoff =0.0,
int isty =1);
std::vector< unsigned int > m_histFuns
std::vector< double > m_vmlXLength
TPadManipulator * progenitor()
int setGridY(bool flag=true)
std::vector< double > m_hmlXoff
TPadManipulator * parent()
int setTimeOffset(double toff)
int setLabelSizeX(double siz)
std::string m_timeFormatY
TPadManipulator * m_parent
TH1 * getHist(unsigned int iobj)
double getLabelSizeX() const
int setTitleSize(double siz)
int add(unsigned int ipad, TObject *pobj, std::string sopt="", bool replace=false)
TLegend * addLegend(double x1, double y1, double x2, double y2)
void setMarginLeft(double xmar)
int m_canvasWidth
==> Do not stream.
int addPad(double x1, double y1, double x2, double y2, int icol=-1)
const TPadManipulator * parent() const
std::string getLabel() const
int addSlopedLine(double slop, double yoff=0.0, int isty=1)
int setLabelSizeY(double siz)
int setRangeZ(double y1, double y2)
std::vector< int > m_hmlXStyle
int setCanvasSize(int wx, int wy)
int canvasPixelsY() const
int split(Index nx, Index ny)
int setTickLengthY(double len)
bool haveHistOrGraph() const
const LineVector & verticalModLines() const
std::vector< double > m_vmlXmod
int setFrameFillColor(int col)
TVirtualPad * m_ppad
==> Do not stream
int setLabel(std::string slab)
bool haveFrameHist() const
std::string m_gflowOpt
==> Do not stream.
int setLogRangeZ(double y1, double y2)
int showOverflow(bool show=true)
int setNdivisionsX(int ndiv)
Bounds(double ax1, double ay1, double ax2, double ay2)
const TExec & getTExec() const
double getTitleSize() const
int setTitle(std::string sttl, float height=-1.0)
int canvasPixelsX() const
int addHorizontalLine(double yoff=0.0, double lenfrac=1.0, int isty=1)
std::vector< double > m_slYoff
Bounds3(double ax1, double ay1, double ax2, double ay2, double az1, double az2)
NameVector m_binLabelsX
==> Do not stream.
int printOnce(std::string fname)
int setLogZ(bool flag=true)
int setBinLabelsX(const NameVector &labs)
TLegend * getLegend() const
double padPixelsX() const
int addAxisRight(bool flag=true)
TLatex & getLabelObject()
static TPadManipulator * read(Name fnam, Name onam="tpad")
int showGraphOverflow(std::string sopt="BTLR", int imrk=38, int icol=1)
std::vector< Name > NameVector
int setLogY(bool flag=true)
int setTickLength(double len)
std::vector< double > m_vmlXoff
int showUnderflow(bool show=true)
bool m_showUnderflow
==> Do not stream.
void Streamer(TBuffer &buf)
int setFillColor(int col)
int addAxis(bool flag=true)
int setRangeXY(double x1, double x2, double y1, double y2)
int setGrid(bool flag=true)
unsigned int npad() const
int put(Name onam="tpad", TDirectory *tdir=nullptr) const
std::string getTitle() const
TPadManipulator * man(unsigned int ipad=0)
TObject * lastObject() const
std::vector< int > m_vmlXStyle
double padPixelsY() const
int addVerticalModLines(double xmod, double xoff=0.0, double lenfrac=1.0, int isty=3)
std::vector< double > m_hmlXLength
void setMarginTop(double xmar)
TObject * object(Index iobj) const
std::string drawOpt() const
void centerAxisTitles(bool center=true)
int addHistFun(unsigned int ifun=0)
std::vector< double > m_slSlop
const std::vector< std::string > & objOpts() const
std::vector< Bounds > BoundsVector
std::vector< int > m_slStyl
int setLogRangeY(double y1, double y2)
int setRangeX(double x1, double x2)
int addVerticalLine(double xoff=0.0, double lenfrac=1.0, int isty=1)
std::vector< TLine * > LineVector
int setTickLengthX(double len)
std::vector< TObject * > TObjVector
std::vector< TPadManipulator > m_subMans
TPadManipulator & operator=(const TPadManipulator &rhs)
int setBinLabelsY(const NameVector &labs)
std::vector< std::string > m_opts
int setTimeFormatX(std::string sfmt)
void setMarginBottom(double xmar)
void setParents(bool recurse)
TVirtualPad * pad() const
const TObjVector & objects() const
int addAxisTop(bool flag=true)
int setGridX(bool flag=true)
int addHorizontalModLines(double ymod, double yoff=0.0, double lenfrac=1.0, int isty=3)
int write(Name fnam, Name onam="tpad") const
void setPalette(int ipal)
std::shared_ptr< TH1 > HistPtr
int setRangeY(double y1, double y2)
int setLogX(bool flag=true)
void setMarginRight(double xmar)
int print(std::string fname, std::string spat="{,}")
double getLabelSizeY() const
std::vector< double > m_hmlXmod
int setNdivisionsY(int ndiv)
int setTimeFormatY(std::string sfmt)
int setLogRangeX(double x1, double x2)
std::string m_timeFormatX