ROOTANA
|
#include <TFancyHistogramCanvas.hxx>
Public Member Functions | |
TFancyHistogramCanvas (THistogramArrayBase *histoArray, std::string name, int numberChannelsInGroups=-1, bool disableAutoUpdate=false) | |
~TFancyHistogramCanvas () | |
void | ResetCanvasHistograms () |
Reset the histograms for this canvas. | |
void | UpdateCanvasHistograms (TDataContainer &dataContainer) |
Update the histograms for this canvas. | |
void | PlotCanvas (TDataContainer &dataContainer, TRootEmbeddedCanvas *embedCanvas) |
Plot the histograms for this canvas. | |
void | BeginRun (int transition, int run, int time) |
Take actions at begin run. | |
void | EndRun (int transition, int run, int time) |
Take actions at end run | |
void | SetUpCompositeFrame (TGCompositeFrame *compFrame, TRootanaDisplay *display) |
This is the complicated part, where we create a bunch of buttons and widgets. | |
void | ActivateMultiCanvasButton () |
void | ActivateOverlayButton () |
void | SetGroupName (std::string groupName) |
Allow the user to set explicitly the group name. | |
void | SetChannelName (std::string channelName) |
Allow the user to set explicitly the channel name. | |
Public Member Functions inherited from TCanvasHandleBase | |
TCanvasHandleBase (std::string tabName) | |
virtual | ~TCanvasHandleBase () |
std::string | GetTabName () |
TRootEmbeddedCanvas * | GetEmbeddedCanvas () |
This method is only. | |
Private Member Functions | |
void | CheckExtraButtons () |
Helper function to remove extra buttons if not needed anymore. | |
TFancyHistogramCanvas () | |
Private Attributes | |
THistogramArrayBase * | fHistoArray |
Pointer to the THistogramArrayBase class; memory is not owned by TFancyHistogramCanvas. | |
bool | fDisableAutoUpdate |
int | fNumberChannelsInGroups |
TGHorizontalFrame * | fLabelframe |
Overall frame in which we will add buttons and widgets. | |
TGNumberEntry * | fChannelCounterButton |
Button for the histogram number. | |
TGLabel * | fLabelChannels |
A label for the histogram number button. | |
std::string | fChannelName |
Name for the channel button. | |
TGNumberEntry * | fGroupCounterButton |
Button for the group number. | |
TGLabel * | fLabelGroup |
A label for the group button. | |
std::string | fGroupName |
Name for the group button. | |
TGCheckButton * | fMultiCanvasButton |
This button controls whether to display mutliple sub-canvases. | |
TGHButtonGroup * | fNCanvasButtonGroup |
Button group to select how many canvases to show. | |
TGRadioButton * | fNCanvasButtons [4] |
TGCheckButton * | fOverlayHistoButton |
This button controls whether to display overlaid histograms. | |
TGNumberEntry * | fNHistoButton |
Button group to select how many histograms to show. | |
TGLabel * | labelNHisto |
TLegend * | fNHistoLegend |
TRootanaDisplay * | fDisplay |
A canvas that plots THistogramArrayBase type histograms in a nice way. The basic idea is to allow the user to easily plot an array of histograms in three different ways: 1) They can scroll through the histograms one by one, using the "Histogram Number" button. 2) They can have a set of NNN different canvases, each with a different histogram, where NNN can be 2, 4, 8 or 16. 3) They can have multiple histograms overlaid on the same canvas; the user can choose how many histograms to overlay.
Definition at line 28 of file TFancyHistogramCanvas.hxx.
TFancyHistogramCanvas::TFancyHistogramCanvas | ( | THistogramArrayBase * | histoArray, |
std::string | name, | ||
int | numberChannelsInGroups = -1 , |
||
bool | disableAutoUpdate = false |
||
) |
Pass the THistogramArrayBase pointer during constructor; does not pass ownership (TFancyHistogramCanvas will not delete histoArray); parameters: 'histoArray': this is the pointer to the class derived from THistogramArrayBase base;
TFancyHistogramCanvas::~TFancyHistogramCanvas | ( | ) |
Definition at line 54 of file TFancyHistogramCanvas.cxx.
|
private |
void TFancyHistogramCanvas::ActivateMultiCanvasButton | ( | ) |
These methods are callbacks to ensure that multi-canvas and overlay-histo modes are used exclusively.
Definition at line 318 of file TFancyHistogramCanvas.cxx.
void TFancyHistogramCanvas::ActivateOverlayButton | ( | ) |
Definition at line 328 of file TFancyHistogramCanvas.cxx.
|
virtual |
Take actions at begin run.
Reimplemented from TCanvasHandleBase.
Definition at line 308 of file TFancyHistogramCanvas.cxx.
|
private |
Helper function to remove extra buttons if not needed anymore.
|
virtual |
Take actions at end run
Reimplemented from TCanvasHandleBase.
Definition at line 313 of file TFancyHistogramCanvas.cxx.
|
virtual |
Plot the histograms for this canvas.
Implements TCanvasHandleBase.
Definition at line 207 of file TFancyHistogramCanvas.cxx.
|
virtual |
Reset the histograms for this canvas.
Reset the histograms in fHistoArray.
Implements TCanvasHandleBase.
Definition at line 178 of file TFancyHistogramCanvas.cxx.
void TFancyHistogramCanvas::SetChannelName | ( | std::string | channelName | ) |
Allow the user to set explicitly the channel name.
Definition at line 354 of file TFancyHistogramCanvas.cxx.
void TFancyHistogramCanvas::SetGroupName | ( | std::string | groupName | ) |
Allow the user to set explicitly the group name.
Definition at line 342 of file TFancyHistogramCanvas.cxx.
|
virtual |
This is the complicated part, where we create a bunch of buttons and widgets.
Cached pointer to rootana display; needed so that we can create new buttons with correct callbacks.
Add the button group to control how many sub-canvases to plot.
Add the button to control how many histograns to plot to plot.
Reimplemented from TCanvasHandleBase.
Definition at line 59 of file TFancyHistogramCanvas.cxx.
|
virtual |
Update the histograms for this canvas.
Implements TCanvasHandleBase.
Definition at line 184 of file TFancyHistogramCanvas.cxx.
|
private |
Button for the histogram number.
Definition at line 99 of file TFancyHistogramCanvas.hxx.
|
private |
Name for the channel button.
Definition at line 105 of file TFancyHistogramCanvas.hxx.
|
private |
'disableAutoUpdate' will tell fancy histogram to not call histoArray->UpdateHistograms() -> the assumption is that the user will take care of calling this function.
Definition at line 87 of file TFancyHistogramCanvas.hxx.
|
private |
Cached pointer to rootana display; needed so that we can create new buttons with correct callbacks.
Definition at line 136 of file TFancyHistogramCanvas.hxx.
|
private |
Button for the group number.
Definition at line 108 of file TFancyHistogramCanvas.hxx.
|
private |
Name for the group button.
Definition at line 114 of file TFancyHistogramCanvas.hxx.
|
private |
Pointer to the THistogramArrayBase class; memory is not owned by TFancyHistogramCanvas.
Definition at line 83 of file TFancyHistogramCanvas.hxx.
|
private |
A label for the histogram number button.
Definition at line 102 of file TFancyHistogramCanvas.hxx.
|
private |
Overall frame in which we will add buttons and widgets.
Definition at line 96 of file TFancyHistogramCanvas.hxx.
|
private |
A label for the group button.
Definition at line 111 of file TFancyHistogramCanvas.hxx.
|
private |
This button controls whether to display mutliple sub-canvases.
Definition at line 117 of file TFancyHistogramCanvas.hxx.
|
private |
Button group to select how many canvases to show.
Definition at line 120 of file TFancyHistogramCanvas.hxx.
|
private |
Definition at line 121 of file TFancyHistogramCanvas.hxx.
|
private |
Button group to select how many histograms to show.
Definition at line 127 of file TFancyHistogramCanvas.hxx.
|
private |
Definition at line 129 of file TFancyHistogramCanvas.hxx.
|
private |
'fNumberChannelsInGroups': if this value is greater than 1, then the fancy canvas will have an additional button allowing the user to specify particular groups; the histograms will be organized into size/fNumberChannelsInGroups of groups, with each group having fNumberChannelsInGroups entries.
Definition at line 93 of file TFancyHistogramCanvas.hxx.
|
private |
This button controls whether to display overlaid histograms.
Definition at line 124 of file TFancyHistogramCanvas.hxx.
|
private |
Definition at line 128 of file TFancyHistogramCanvas.hxx.