GSI Object Oriented Online Offline (Go4)
GO4-6.3.0
|
#include <TGo4Marker.h>
Public Member Functions | |
TGo4Marker () | |
TGo4Marker (Double_t x, Double_t y, Int_t style) | |
virtual | ~TGo4Marker () |
void | Print (Option_t *opt="") const override |
void | Paint (Option_t *opt="") override |
void | Draw (Option_t *opt="") override |
virtual void | UnDraw (Option_t *opt="") |
void | Pop () override |
void | ExecuteEvent (Int_t event, Int_t px, Int_t py) override |
virtual TGo4MarkerPainter * | CreatePainter () |
void | DeletePainter () |
void | SetVisible (Bool_t on) |
Bool_t | IsVisible () const |
virtual void | SetName (const char *name) |
void | SetToBin (Int_t xbin, Int_t ybin=0) |
void | SetLabelDraw (Bool_t on) |
Bool_t | HasLabel () const |
void | SetLineDraw (Bool_t on) |
Bool_t | HasConnector () const |
void | SetXDraw (Bool_t on) |
Bool_t | IsXDraw () const |
void | SetYDraw (Bool_t on) |
Bool_t | IsYDraw () const |
void | SetXbinDraw (Bool_t on) |
Bool_t | IsXbinDraw () const |
void | SetYbinDraw (Bool_t on) |
Bool_t | IsYbinDraw () const |
void | SetContDraw (Bool_t on) |
Bool_t | IsContDraw () const |
const char * | GetNumFormat () const |
void | SetNumFormat (const char *fmt="%.4E") |
void | SaveLabelStyle () |
void | ResetLabel () |
void | InitLabelStyle () |
void | SetHistogram (TH1 *histo) |
TH1 * | GetHistogram () const |
const char * | GetName () const override |
void | SetXY (Double_t x, Double_t y) |
Int_t | GetXbin () const |
Int_t | GetYbin () const |
Int_t | GetCont () const |
Double_t | GetLabelX () const |
Double_t | GetLabelY () const |
TVirtualPad * | GetDrawPad () const |
Bool_t | CheckDrawPad () const |
Bool_t | CheckHistogram () const |
Static Public Member Functions | |
static Int_t | GetInstances () |
static void | SetGlobalStyle (Bool_t HASLABEL, Bool_t HASCONNECTOR, Bool_t XDRAW, Bool_t YDRAW, Bool_t XBINDRAW, Bool_t YBINDRAW, Bool_t CONTDRAW, const char *NUMFORMAT) |
static void | GetGlobalStyle (Bool_t &HASLABEL, Bool_t &HASCONNECTOR, Bool_t &XDRAW, Bool_t &YDRAW, Bool_t &XBINDRAW, Bool_t &YBINDRAW, Bool_t &CONTDRAW, TString &NUMFORMAT) |
Static Public Attributes | |
static Bool_t | fgbHASLABEL = kTRUE |
static Bool_t | fgbHASCONNECTOR = kTRUE |
static Bool_t | fgbXDRAW = kTRUE |
static Bool_t | fgbYDRAW = kTRUE |
static Bool_t | fgbXBINDRAW = kFALSE |
static Bool_t | fgbYBINDRAW = kFALSE |
static Bool_t | fgbCONTDRAW = kTRUE |
static TString | fgxNUMFORMAT = "%.4E" |
Protected Member Functions | |
void | SetPainted (Bool_t on) |
Bool_t | IsPainted () const |
void | SetDrawPad (TVirtualPad *pad) |
Protected Attributes | |
TGo4MarkerPainter * | fxPainter {nullptr} |
Private Attributes | |
TString | fxName |
Bool_t | fbIsPainted {kFALSE} |
Bool_t | fbVisible {kTRUE} |
Bool_t | fbHasLabel {kTRUE} |
Bool_t | fbHasConnector {kTRUE} |
Bool_t | fbXDraw {kTRUE} |
Bool_t | fbYDraw {kTRUE} |
Bool_t | fbXbinDraw {kTRUE} |
Bool_t | fbYbinDraw {kTRUE} |
Bool_t | fbContDraw {kTRUE} |
TString | fxNumFormat |
TH1 * | fxHisto {nullptr} |
TVirtualPad * | fxDrawPad {nullptr} |
Static Private Attributes | |
static UInt_t | fguInstanceCounter = 0 |
Extended graphical marker class for go4 condition editor and viewpanel. Offers coordinate label updated from pad. Scans work histogram for bin numbers and contents.
Definition at line 32 of file TGo4Marker.h.
TGo4Marker::TGo4Marker | ( | ) |
Definition at line 50 of file TGo4Marker.cxx.
References InitLabelStyle().
TGo4Marker::TGo4Marker | ( | Double_t | x, |
Double_t | y, | ||
Int_t | style | ||
) |
Definition at line 42 of file TGo4Marker.cxx.
References fguInstanceCounter, fxName, and InitLabelStyle().
|
virtual |
Definition at line 57 of file TGo4Marker.cxx.
Bool_t TGo4Marker::CheckDrawPad | ( | ) | const |
True if current draw pad is still existing
Definition at line 69 of file TGo4Marker.cxx.
References fxDrawPad.
Referenced by GetCont(), GetDrawPad(), GetLabelX(), GetLabelY(), GetXbin(), GetYbin(), and Paint().
Bool_t TGo4Marker::CheckHistogram | ( | ) | const |
True if current histogram is still existing
Definition at line 79 of file TGo4Marker.cxx.
References fxHisto.
Referenced by GetCont(), GetDrawPad(), GetXbin(), GetYbin(), and SetToBin().
|
virtual |
Factory method to generate (optional subclass) implementation for painter
Definition at line 142 of file TGo4Marker.cxx.
References GetName(), and TGo4MarkerPainter::SetMarker().
Referenced by Paint().
void TGo4Marker::DeletePainter | ( | ) |
Definition at line 293 of file TGo4Marker.cxx.
References fxPainter.
Referenced by TGo4ViewPanel::MakePictureForPad().
|
override |
Draw this marker on current pad
Definition at line 101 of file TGo4Marker.cxx.
References IsVisible(), SetDrawPad(), SetPainted(), and UnDraw().
Referenced by TGo4ViewPanel::PadClickedSlot().
|
override |
Reimplemented to pop our labels to front when selected
Definition at line 131 of file TGo4Marker.cxx.
References TGo4MarkerPainter::DisplayToFront(), and fxPainter.
Int_t TGo4Marker::GetCont | ( | ) | const |
Deliver bin content of work histogram at marker position
Definition at line 180 of file TGo4Marker.cxx.
References CheckDrawPad(), CheckHistogram(), fxHisto, GetXbin(), and GetYbin().
Referenced by TGo4MarkerPainter::PaintLabel(), Print(), and SetXY().
|
inline |
Definition at line 122 of file TGo4Marker.h.
References CheckDrawPad(), CheckHistogram(), and fxDrawPad.
Referenced by Paint().
|
static |
Definition at line 271 of file TGo4Marker.cxx.
References fgbCONTDRAW, fgbHASCONNECTOR, fgbHASLABEL, fgbXBINDRAW, fgbXDRAW, fgbYBINDRAW, fgbYDRAW, and fgxNUMFORMAT.
Referenced by TGo4QSettings::setBasicSettings(), and TGo4MarkerSettings::TGo4MarkerSettings().
|
inline |
Definition at line 98 of file TGo4Marker.h.
References fxHisto.
Referenced by TGo4ViewPanel::CheckObjectsAssigments(), TGo4MarkerPainter::PaintLabel(), and Print().
|
static |
Definition at line 36 of file TGo4Marker.cxx.
References fguInstanceCounter.
Referenced by TGo4ViewPanel::PadClickedSlot(), and SetXY().
Double_t TGo4Marker::GetLabelX | ( | ) | const |
Calculate initial label coordinate from marker position
Definition at line 188 of file TGo4Marker.cxx.
References CheckDrawPad(), and fxDrawPad.
Referenced by TGo4MarkerPainter::PaintLabel(), and SetXY().
Double_t TGo4Marker::GetLabelY | ( | ) | const |
Calculate initial label coordinate from marker position
Definition at line 197 of file TGo4Marker.cxx.
References CheckDrawPad(), and fxDrawPad.
Referenced by TGo4MarkerPainter::PaintLabel(), and SetXY().
|
inlineoverride |
TMarker is not TNamed, so we implement name ourself
Definition at line 101 of file TGo4Marker.h.
References fxName.
Referenced by CreatePainter(), TGo4MarkerPainter::PaintLabel(), Print(), and TGo4ViewPanel::ProcessCanvasAdopt().
|
inline |
Definition at line 85 of file TGo4Marker.h.
References fxNumFormat.
Referenced by TGo4MarkerPainter::PaintLabel().
Int_t TGo4Marker::GetXbin | ( | ) | const |
Deliver x axis bin number of work histogram at marker position
Definition at line 166 of file TGo4Marker.cxx.
References CheckDrawPad(), CheckHistogram(), fxDrawPad, and fxHisto.
Referenced by GetCont(), TGo4MarkerPainter::PaintLabel(), Print(), and SetXY().
Int_t TGo4Marker::GetYbin | ( | ) | const |
Deliver y axis bin number of work histogram at marker position
Definition at line 173 of file TGo4Marker.cxx.
References CheckDrawPad(), CheckHistogram(), fxDrawPad, and fxHisto.
Referenced by GetCont(), TGo4MarkerPainter::PaintLabel(), Print(), and SetXY().
|
inline |
Definition at line 73 of file TGo4Marker.h.
References fbHasConnector.
Referenced by TGo4MarkerPainter::PaintConnector().
|
inline |
Definition at line 71 of file TGo4Marker.h.
References fbHasLabel.
Referenced by TGo4MarkerPainter::PaintLabel().
void TGo4Marker::InitLabelStyle | ( | ) |
Initialize label setup from static default variables
Definition at line 245 of file TGo4Marker.cxx.
References fbContDraw, fbHasConnector, fbHasLabel, fbXbinDraw, fbXDraw, fbYbinDraw, fbYDraw, fgbCONTDRAW, fgbHASCONNECTOR, fgbHASLABEL, fgbXBINDRAW, fgbXDRAW, fgbYBINDRAW, fgbYDRAW, fgxNUMFORMAT, and fxNumFormat.
Referenced by SetNumFormat(), and TGo4Marker().
|
inline |
Definition at line 83 of file TGo4Marker.h.
References fbContDraw.
Referenced by TGo4MarkerPainter::PaintLabel().
|
inlineprotected |
Definition at line 167 of file TGo4Marker.h.
References fbIsPainted, and SetDrawPad().
Referenced by Paint().
|
inline |
Definition at line 64 of file TGo4Marker.h.
References fbVisible.
|
inline |
Definition at line 79 of file TGo4Marker.h.
References fbXbinDraw.
Referenced by TGo4MarkerPainter::PaintLabel().
|
inline |
Definition at line 75 of file TGo4Marker.h.
References fbXDraw.
Referenced by TGo4MarkerPainter::PaintLabel().
|
inline |
Definition at line 81 of file TGo4Marker.h.
References fbYbinDraw.
Referenced by TGo4MarkerPainter::PaintLabel().
|
inline |
Definition at line 77 of file TGo4Marker.h.
References fbYDraw.
Referenced by TGo4MarkerPainter::PaintLabel().
|
override |
Display marker with plain root canvas and in go4 viewpanel
Definition at line 85 of file TGo4Marker.cxx.
References CheckDrawPad(), CreatePainter(), fxPainter, GetDrawPad(), IsPainted(), IsVisible(), TGo4MarkerPainter::PaintLabel(), SetDrawPad(), and SetPainted().
|
override |
Re-implement TObject method to pop all our views to front
Definition at line 125 of file TGo4Marker.cxx.
References TGo4MarkerPainter::DisplayToFront(), and fxPainter.
|
override |
Implement standard root print. If option is "go4log", print to TGo4Log::Message. Otherwise use cout
Definition at line 210 of file TGo4Marker.cxx.
References GetCont(), GetHistogram(), GetName(), GetXbin(), GetYbin(), TGo4Log::Message(), and TGo4Status::PrintLine().
void TGo4Marker::ResetLabel | ( | ) |
Will reset label position to defaults
Definition at line 285 of file TGo4Marker.cxx.
References fxPainter, TGo4MarkerPainter::PaintLabel(), and TGo4MarkerPainter::UnPaintLabel().
Referenced by SetNumFormat().
void TGo4Marker::SaveLabelStyle | ( | ) |
This will save draw flags into static default setup
Definition at line 233 of file TGo4Marker.cxx.
References fbContDraw, fbHasConnector, fbHasLabel, fbXbinDraw, fbXDraw, fbYbinDraw, fbYDraw, fgbCONTDRAW, fgbHASCONNECTOR, fgbHASLABEL, fgbXBINDRAW, fgbXDRAW, fgbYBINDRAW, fgbYDRAW, fgxNUMFORMAT, and fxNumFormat.
Referenced by SetNumFormat().
|
inline |
Definition at line 82 of file TGo4Marker.h.
References fbContDraw.
|
protected |
Definition at line 64 of file TGo4Marker.cxx.
References fxDrawPad.
Referenced by Draw(), IsPainted(), Paint(), and UnDraw().
|
static |
Definition at line 257 of file TGo4Marker.cxx.
References fgbCONTDRAW, fgbHASCONNECTOR, fgbHASLABEL, fgbXBINDRAW, fgbXDRAW, fgbYBINDRAW, fgbYDRAW, and fgxNUMFORMAT.
Referenced by TGo4QSettings::getBasicSettings(), and TGo4MarkerSettings::setFlags().
void TGo4Marker::SetHistogram | ( | TH1 * | histo | ) |
Definition at line 74 of file TGo4Marker.cxx.
References fxHisto.
Referenced by TGo4ViewPanel::CheckObjectsAssigments(), TGo4ViewPanel::PadClickedSlot(), TGo4ViewPanel::ProcessCanvasAdopt(), and SetNumFormat().
|
inline |
Definition at line 70 of file TGo4Marker.h.
References fbHasLabel.
|
inline |
Definition at line 72 of file TGo4Marker.h.
References fbHasConnector.
|
inlinevirtual |
Definition at line 65 of file TGo4Marker.h.
References fxName, and SetToBin().
|
inline |
Definition at line 86 of file TGo4Marker.h.
References fxNumFormat, InitLabelStyle(), ResetLabel(), SaveLabelStyle(), and SetHistogram().
|
inlineprotected |
Definition at line 166 of file TGo4Marker.h.
References fbIsPainted.
void TGo4Marker::SetToBin | ( | Int_t | xbin, |
Int_t | ybin = 0 |
||
) |
Set marker to position according to work histogram axis.
Definition at line 149 of file TGo4Marker.cxx.
References CheckHistogram(), and fxHisto.
Referenced by SetName().
|
inline |
Definition at line 63 of file TGo4Marker.h.
References fbVisible.
|
inline |
Definition at line 78 of file TGo4Marker.h.
References fbXbinDraw.
|
inline |
Definition at line 74 of file TGo4Marker.h.
References fbXDraw.
|
inline |
Definition at line 103 of file TGo4Marker.h.
References GetCont(), GetInstances(), GetLabelX(), GetLabelY(), GetXbin(), and GetYbin().
|
inline |
Definition at line 80 of file TGo4Marker.h.
References fbYbinDraw.
|
inline |
Definition at line 76 of file TGo4Marker.h.
References fbYDraw.
|
virtual |
Erase view of this marker from the pad
Definition at line 115 of file TGo4Marker.cxx.
References fxPainter, SetDrawPad(), SetPainted(), and TGo4MarkerPainter::UnPaintLabel().
Referenced by Draw(), and ~TGo4Marker().
|
private |
If true, draw corresponding value as label on working pad
Definition at line 203 of file TGo4Marker.h.
Referenced by InitLabelStyle(), IsContDraw(), SaveLabelStyle(), and SetContDraw().
|
private |
Switch connection line between marker and label on or off.
Definition at line 188 of file TGo4Marker.h.
Referenced by HasConnector(), InitLabelStyle(), SaveLabelStyle(), and SetLineDraw().
|
private |
Switch marker label on or off.
Definition at line 185 of file TGo4Marker.h.
Referenced by HasLabel(), InitLabelStyle(), SaveLabelStyle(), and SetLabelDraw().
|
private |
Flag to prevent Paint() method to redraw marker views after UnDraw. Problem with Paint() called from ROOT event loop.
Definition at line 179 of file TGo4Marker.h.
Referenced by IsPainted(), and SetPainted().
|
private |
Visibility of this marker on pad. For marker array in editor
Definition at line 182 of file TGo4Marker.h.
Referenced by IsVisible(), and SetVisible().
|
private |
If true, draw corresponding value as label on working pad
Definition at line 197 of file TGo4Marker.h.
Referenced by InitLabelStyle(), IsXbinDraw(), SaveLabelStyle(), and SetXbinDraw().
|
private |
If true, draw corresponding value as label on working pad
Definition at line 191 of file TGo4Marker.h.
Referenced by InitLabelStyle(), IsXDraw(), SaveLabelStyle(), and SetXDraw().
|
private |
If true, draw corresponding value as label on working pad
Definition at line 200 of file TGo4Marker.h.
Referenced by InitLabelStyle(), IsYbinDraw(), SaveLabelStyle(), and SetYbinDraw().
|
private |
If true, draw corresponding value as label on working pad
Definition at line 194 of file TGo4Marker.h.
Referenced by InitLabelStyle(), IsYDraw(), SaveLabelStyle(), and SetYDraw().
|
static |
default setting for all markers of bin content flag.
Definition at line 148 of file TGo4Marker.h.
Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().
|
static |
default setting for all markers of connector line flag.
Definition at line 133 of file TGo4Marker.h.
Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().
|
static |
default setting for all markers of label on/off flag.
Definition at line 130 of file TGo4Marker.h.
Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().
|
static |
default setting for all markers of xbindraw flag.
Definition at line 142 of file TGo4Marker.h.
Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().
|
static |
default setting for all markers of xdraw flag.
Definition at line 136 of file TGo4Marker.h.
Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().
|
static |
default setting for all markers of ybindraw flag.
Definition at line 145 of file TGo4Marker.h.
Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().
|
static |
default setting for all markers of ydraw flag.
Definition at line 139 of file TGo4Marker.h.
Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().
|
staticprivate |
use this counter for automatic naming and coloring
Definition at line 216 of file TGo4Marker.h.
Referenced by GetInstances(), and TGo4Marker().
|
static |
default setting for all conditions with format string for numbers.
Definition at line 151 of file TGo4Marker.h.
Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().
|
private |
Remember last pad used for Draw. Needed for condition editor to prevent displaying marker on pad other than the working pad.
Definition at line 213 of file TGo4Marker.h.
Referenced by CheckDrawPad(), GetDrawPad(), GetLabelX(), GetLabelY(), GetXbin(), GetYbin(), and SetDrawPad().
|
private |
Reference to currently used histogram (for bin contents).
Definition at line 209 of file TGo4Marker.h.
Referenced by CheckHistogram(), GetCont(), GetHistogram(), GetXbin(), GetYbin(), SetHistogram(), and SetToBin().
|
private |
since TMarker is not TNamed, we provide identifier string here:
Definition at line 175 of file TGo4Marker.h.
Referenced by GetName(), SetName(), and TGo4Marker().
|
private |
format string for all label numbers.
Definition at line 206 of file TGo4Marker.h.
Referenced by GetNumFormat(), InitLabelStyle(), SaveLabelStyle(), and SetNumFormat().
|
protected |
Painter instance to display the condition in root pad. To be used in Paint() which is called on TPad::Update automatically for all TObjects appended to the pad.
Definition at line 164 of file TGo4Marker.h.
Referenced by DeletePainter(), ExecuteEvent(), Paint(), Pop(), ResetLabel(), UnDraw(), and ~TGo4Marker().