ant
A2 ant: class-based analysis framework
ant::canvas Class Reference

The canvas class. More...

#include <RootDraw.h>

+ Inheritance diagram for ant::canvas:
+ Collaboration diagram for ant::canvas:

Classes

struct  DrawableItem
 
struct  pad_t
 

Public Member Functions

 canvas (const std::string &title_="")
 
 ~canvas ()
 
void cd ()
 
void clear ()
 
template<typename Drawable >
std::enable_if< std::is_base_of< root_drawable_traits, Drawable >::value, canvas >::type & operator<< (const Drawable &drawable)
 
canvasoperator<< (const std::shared_ptr< root_drawable_traits > &drawable)
 
canvasoperator<< (TObject *hist)
 
canvasoperator<< (const endcanvas &)
 
canvasoperator<< (const endrow &)
 
canvasoperator<< (const samepad_t &)
 
canvasoperator<< (const drawoption &c)
 
canvasoperator<< (const padmodifier_t &c)
 
canvasoperator<< (const padoption::enable &c)
 
canvasoperator<< (const padoption::disable &c)
 
canvasoperator>> (const std::string &filename)
 

Protected Member Functions

TCanvas * FindTCanvas () const
 
void DrawObjs (TCanvas *c, unsigned cols, unsigned rows)
 
void AddDrawable (std::shared_ptr< root_drawable_traits > drawable)
 

Protected Attributes

const std::string name
 
const std::string title
 
bool automode = true
 
bool addobject = false
 
std::list< pad_tpads
 
std::string current_drawoption
 
std::list< padmodifier_tglobal_padoptions
 
std::list< padmodifier_tonetime_padoptions
 

Static Protected Attributes

static unsigned int num = 0
 

Detailed Description

The canvas class.

Wrapper for TCanvas. Drawable classes, either TObject or classes inhereting from root_drawable_traits, can be added via the << operator. Just like with cout: canvas c("test"); c << hist1 << hist2 << endc;

The canvas is automatically subdivided to fit all added histograms. To finally draw the canvas add the endc obejct to it.

Draw options can be set using the drawoption modifier:

c << drawoption("colz") << hist2d_a << hist2d_b << endc;

Constructor & Destructor Documentation

◆ canvas()

canvas::canvas ( const std::string &  title_ = "")

◆ ~canvas()

canvas::~canvas ( )

Member Function Documentation

◆ AddDrawable()

void canvas::AddDrawable ( std::shared_ptr< root_drawable_traits drawable)
protected

◆ cd()

void canvas::cd ( )

◆ clear()

void canvas::clear ( )

◆ DrawObjs()

void canvas::DrawObjs ( TCanvas *  c,
unsigned  cols,
unsigned  rows 
)
protected

◆ FindTCanvas()

TCanvas * canvas::FindTCanvas ( ) const
protected

◆ operator<<() [1/10]

template<typename Drawable >
std::enable_if<std::is_base_of<root_drawable_traits, Drawable>::value, canvas>::type& ant::canvas::operator<< ( const Drawable &  drawable)
inline

◆ operator<<() [2/10]

canvas& ant::canvas::operator<< ( const std::shared_ptr< root_drawable_traits > &  drawable)
inline

◆ operator<<() [3/10]

canvas & canvas::operator<< ( TObject *  hist)

◆ operator<<() [4/10]

canvas & canvas::operator<< ( const endcanvas )

◆ operator<<() [5/10]

canvas & canvas::operator<< ( const endrow )

◆ operator<<() [6/10]

canvas & canvas::operator<< ( const samepad_t )

◆ operator<<() [7/10]

canvas & canvas::operator<< ( const drawoption c)

◆ operator<<() [8/10]

canvas & canvas::operator<< ( const padmodifier_t c)

◆ operator<<() [9/10]

canvas & canvas::operator<< ( const padoption::enable c)

◆ operator<<() [10/10]

canvas & canvas::operator<< ( const padoption::disable c)

◆ operator>>()

canvas & canvas::operator>> ( const std::string &  filename)

Member Data Documentation

◆ addobject

bool ant::canvas::addobject = false
protected

◆ automode

bool ant::canvas::automode = true
protected

◆ current_drawoption

std::string ant::canvas::current_drawoption
protected

◆ global_padoptions

std::list<padmodifier_t> ant::canvas::global_padoptions
protected

◆ name

const std::string ant::canvas::name
protected

◆ num

unsigned int canvas::num = 0
staticprotected

◆ onetime_padoptions

std::list<padmodifier_t> ant::canvas::onetime_padoptions
protected

◆ pads

std::list<pad_t> ant::canvas::pads
protected

◆ title

const std::string ant::canvas::title
protected

The documentation for this class was generated from the following files: