GSI Object Oriented Online Offline (Go4)  GO4-6.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Attributes | Static Private Attributes | List of all members
TGo4Marker Class Reference

#include <TGo4Marker.h>

+ Inheritance diagram for TGo4Marker:

Public Member Functions

 TGo4Marker ()
 
 TGo4Marker (Double_t x, Double_t y, Int_t style)
 
virtual ~TGo4Marker ()
 
virtual void Print (Option_t *opt="") const
 
void PrintMarker (Option_t *opt="")
 
virtual void Paint (Option_t *opt="")
 
virtual void Draw (Option_t *opt="")
 
virtual void UnDraw (Option_t *opt="")
 
virtual void Pop ()
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 
virtual TGo4MarkerPainterCreatePainter ()
 
void DeletePainter ()
 
void SetVisible (Bool_t on)
 
Bool_t IsVisible ()
 
virtual void SetName (const char *name)
 
void SetToBin (Int_t xbin, Int_t ybin=0)
 
void SetLabelDraw (Bool_t on)
 
Bool_t HasLabel ()
 
void SetLineDraw (Bool_t on)
 
Bool_t HasConnector ()
 
void SetXDraw (Bool_t on)
 
Bool_t IsXDraw ()
 
void SetYDraw (Bool_t on)
 
Bool_t IsYDraw ()
 
void SetXbinDraw (Bool_t on)
 
Bool_t IsXbinDraw ()
 
void SetYbinDraw (Bool_t on)
 
Bool_t IsYbinDraw ()
 
void SetContDraw (Bool_t on)
 
Bool_t IsContDraw ()
 
const char * GetNumFormat ()
 
void SetNumFormat (const char *fmt="%.4E")
 
void SaveLabelStyle ()
 
void ResetLabel ()
 
void InitLabelStyle ()
 
void SetHistogram (TH1 *histo)
 
TH1 * GetHistogram () const
 
virtual const char * GetName () const
 
void SetXY (Double_t x, Double_t y)
 
Int_t GetXbin ()
 
Int_t GetYbin ()
 
Int_t GetCont ()
 
Double_t GetLabelX ()
 
Double_t GetLabelY ()
 
TVirtualPad * GetDrawPad ()
 
Bool_t CheckDrawPad ()
 
Bool_t CheckHistogram ()
 

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 ()
 
void SetDrawPad (TVirtualPad *pad)
 

Protected Attributes

TGo4MarkerPainterfxPainter
 

Private Attributes

TString fxName
 
Bool_t fbIsPainted
 
Bool_t fbVisible
 
Bool_t fbHasLabel
 
Bool_t fbHasConnector
 
Bool_t fbXDraw
 
Bool_t fbYDraw
 
Bool_t fbXbinDraw
 
Bool_t fbYbinDraw
 
Bool_t fbContDraw
 
TString fxNumFormat
 
TH1 * fxHisto
 
TVirtualPad * fxDrawPad
 

Static Private Attributes

static UInt_t fguInstanceCounter = 0
 

Detailed Description

Extended graphical marker class for go4 condition editor and viewpanel. Offers coordinate label updated from pad. Scans work histogram for bin numbers and contents.

Author
Joern Adamczewski
Since
06/2004

Definition at line 32 of file TGo4Marker.h.

Constructor & Destructor Documentation

TGo4Marker::TGo4Marker ( )

Definition at line 55 of file TGo4Marker.cxx.

References InitLabelStyle().

TGo4Marker::TGo4Marker ( Double_t  x,
Double_t  y,
Int_t  style 
)

Definition at line 43 of file TGo4Marker.cxx.

References fguInstanceCounter, fxName, and InitLabelStyle().

TGo4Marker::~TGo4Marker ( )
virtual

Definition at line 66 of file TGo4Marker.cxx.

References fxPainter, and UnDraw().

Member Function Documentation

Bool_t TGo4Marker::CheckDrawPad ( )

True if current draw pad is still existing

Definition at line 78 of file TGo4Marker.cxx.

References fxDrawPad.

Referenced by GetCont(), GetLabelX(), GetLabelY(), GetXbin(), GetYbin(), and Paint().

Bool_t TGo4Marker::CheckHistogram ( )

True if current histogram is still existing

Definition at line 88 of file TGo4Marker.cxx.

References fxHisto.

Referenced by GetCont(), GetXbin(), GetYbin(), and SetToBin().

TGo4MarkerPainter * TGo4Marker::CreatePainter ( )
virtual

Factory method to generate (optional subclass) implementation for painter

Definition at line 154 of file TGo4Marker.cxx.

References GetName(), and TGo4MarkerPainter::SetMarker().

Referenced by Paint().

void TGo4Marker::DeletePainter ( )

Definition at line 318 of file TGo4Marker.cxx.

References fxPainter.

Referenced by TGo4ViewPanel::MakePictureForPad().

void TGo4Marker::Draw ( Option_t *  opt = "")
virtual

Draw this marker on current pad

Definition at line 110 of file TGo4Marker.cxx.

References IsVisible(), SetDrawPad(), SetPainted(), and UnDraw().

Referenced by TGo4ViewPanel::PadClickedSlot().

void TGo4Marker::ExecuteEvent ( Int_t  event,
Int_t  px,
Int_t  py 
)
virtual

Reimplemented to pop our labels to front when selected

Definition at line 143 of file TGo4Marker.cxx.

References TGo4MarkerPainter::DisplayToFront(), and fxPainter.

Int_t TGo4Marker::GetCont ( )

Deliver bin content of work histogram at marker position

Definition at line 194 of file TGo4Marker.cxx.

References CheckDrawPad(), CheckHistogram(), fxHisto, GetXbin(), and GetYbin().

Referenced by TGo4MarkerPainter::PaintLabel(), and PrintMarker().

TVirtualPad* TGo4Marker::GetDrawPad ( )
inline

Definition at line 124 of file TGo4Marker.h.

References fxDrawPad.

Referenced by Paint().

void TGo4Marker::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
TH1* TGo4Marker::GetHistogram ( ) const
inline
Int_t TGo4Marker::GetInstances ( )
static

Definition at line 37 of file TGo4Marker.cxx.

References fguInstanceCounter.

Referenced by TGo4ViewPanel::PadClickedSlot().

Double_t TGo4Marker::GetLabelX ( )

Calculate initial label coordinate from marker position

Definition at line 203 of file TGo4Marker.cxx.

References CheckDrawPad(), and fxDrawPad.

Referenced by TGo4MarkerPainter::PaintLabel().

Double_t TGo4Marker::GetLabelY ( )

Calculate initial label coordinate from marker position

Definition at line 212 of file TGo4Marker.cxx.

References CheckDrawPad(), and fxDrawPad.

Referenced by TGo4MarkerPainter::PaintLabel().

virtual const char* TGo4Marker::GetName ( ) const
inlinevirtual

TMarker is not TNamed, so we implement name ourself

Definition at line 103 of file TGo4Marker.h.

References fxName.

Referenced by CreatePainter(), TGo4MarkerPainter::PaintLabel(), PrintMarker(), and TGo4ViewPanel::ProcessCanvasAdopt().

const char* TGo4Marker::GetNumFormat ( )
inline

Definition at line 87 of file TGo4Marker.h.

References fxNumFormat.

Referenced by TGo4MarkerPainter::PaintLabel().

Int_t TGo4Marker::GetXbin ( )

Deliver x axis bin number of work histogram at marker position

Definition at line 178 of file TGo4Marker.cxx.

References CheckDrawPad(), CheckHistogram(), fxDrawPad, and fxHisto.

Referenced by GetCont(), TGo4MarkerPainter::PaintLabel(), and PrintMarker().

Int_t TGo4Marker::GetYbin ( )

Deliver y axis bin number of work histogram at marker position

Definition at line 186 of file TGo4Marker.cxx.

References CheckDrawPad(), CheckHistogram(), fxDrawPad, and fxHisto.

Referenced by GetCont(), TGo4MarkerPainter::PaintLabel(), and PrintMarker().

Bool_t TGo4Marker::HasConnector ( )
inline

Definition at line 75 of file TGo4Marker.h.

References fbHasConnector.

Referenced by TGo4MarkerPainter::PaintConnector().

Bool_t TGo4Marker::HasLabel ( )
inline

Definition at line 73 of file TGo4Marker.h.

References fbHasLabel.

Referenced by TGo4MarkerPainter::PaintLabel().

void TGo4Marker::InitLabelStyle ( )

Initialize label setup from static default variables

Definition at line 270 of file TGo4Marker.cxx.

References fbContDraw, fbHasConnector, fbHasLabel, fbXbinDraw, fbXDraw, fbYbinDraw, fbYDraw, fgbCONTDRAW, fgbHASCONNECTOR, fgbHASLABEL, fgbXBINDRAW, fgbXDRAW, fgbYBINDRAW, fgbYDRAW, fgxNUMFORMAT, and fxNumFormat.

Referenced by TGo4Marker().

Bool_t TGo4Marker::IsContDraw ( )
inline

Definition at line 85 of file TGo4Marker.h.

References fbContDraw.

Referenced by TGo4MarkerPainter::PaintLabel().

Bool_t TGo4Marker::IsPainted ( )
inlineprotected

Definition at line 169 of file TGo4Marker.h.

References fbIsPainted.

Referenced by Paint().

Bool_t TGo4Marker::IsVisible ( )
inline

Definition at line 66 of file TGo4Marker.h.

References fbVisible.

Referenced by Draw(), and Paint().

Bool_t TGo4Marker::IsXbinDraw ( )
inline

Definition at line 81 of file TGo4Marker.h.

References fbXbinDraw.

Referenced by TGo4MarkerPainter::PaintLabel().

Bool_t TGo4Marker::IsXDraw ( )
inline

Definition at line 77 of file TGo4Marker.h.

References fbXDraw.

Referenced by TGo4MarkerPainter::PaintLabel().

Bool_t TGo4Marker::IsYbinDraw ( )
inline

Definition at line 83 of file TGo4Marker.h.

References fbYbinDraw.

Referenced by TGo4MarkerPainter::PaintLabel().

Bool_t TGo4Marker::IsYDraw ( )
inline

Definition at line 79 of file TGo4Marker.h.

References fbYDraw.

Referenced by TGo4MarkerPainter::PaintLabel().

void TGo4Marker::Paint ( Option_t *  opt = "")
virtual

Display marker with plain root canvas and in go4 viewpanel

Definition at line 94 of file TGo4Marker.cxx.

References CheckDrawPad(), CreatePainter(), fxPainter, GetDrawPad(), IsPainted(), IsVisible(), TGo4MarkerPainter::PaintLabel(), SetDrawPad(), and SetPainted().

void TGo4Marker::Pop ( )
virtual

Re-implement TObject method to pop all our views to front

Definition at line 137 of file TGo4Marker.cxx.

References TGo4MarkerPainter::DisplayToFront(), and fxPainter.

void TGo4Marker::Print ( Option_t *  opt = "") const
virtual

Implement standard root print. If option is "go4log", print to TGo4Log::Message. Otherwise use cout

Definition at line 225 of file TGo4Marker.cxx.

References PrintMarker().

void TGo4Marker::PrintMarker ( Option_t *  opt = "")

If option is "go4log", print to TGo4Log::Message. Otherwise use cout

Definition at line 236 of file TGo4Marker.cxx.

References GetCont(), GetHistogram(), GetName(), GetXbin(), GetYbin(), and TGo4Log::Message().

Referenced by Print().

void TGo4Marker::ResetLabel ( )

Will reset label position to defaults

Definition at line 310 of file TGo4Marker.cxx.

References fxPainter, TGo4MarkerPainter::PaintLabel(), and TGo4MarkerPainter::UnPaintLabel().

void TGo4Marker::SaveLabelStyle ( )

This will save draw flags into static default setup

Definition at line 258 of file TGo4Marker.cxx.

References fbContDraw, fbHasConnector, fbHasLabel, fbXbinDraw, fbXDraw, fbYbinDraw, fbYDraw, fgbCONTDRAW, fgbHASCONNECTOR, fgbHASLABEL, fgbXBINDRAW, fgbXDRAW, fgbYBINDRAW, fgbYDRAW, fgxNUMFORMAT, and fxNumFormat.

void TGo4Marker::SetContDraw ( Bool_t  on)
inline

Definition at line 84 of file TGo4Marker.h.

References fbContDraw.

void TGo4Marker::SetDrawPad ( TVirtualPad *  pad)
protected

Definition at line 73 of file TGo4Marker.cxx.

References fxDrawPad.

Referenced by Draw(), Paint(), and UnDraw().

void TGo4Marker::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 TGo4Marker::SetHistogram ( TH1 *  histo)
void TGo4Marker::SetLabelDraw ( Bool_t  on)
inline

Definition at line 72 of file TGo4Marker.h.

References fbHasLabel.

void TGo4Marker::SetLineDraw ( Bool_t  on)
inline

Definition at line 74 of file TGo4Marker.h.

References fbHasConnector.

virtual void TGo4Marker::SetName ( const char *  name)
inlinevirtual

Definition at line 67 of file TGo4Marker.h.

References fxName.

void TGo4Marker::SetNumFormat ( const char *  fmt = "%.4E")
inline

Definition at line 88 of file TGo4Marker.h.

References fxNumFormat.

void TGo4Marker::SetPainted ( Bool_t  on)
inlineprotected

Definition at line 168 of file TGo4Marker.h.

References fbIsPainted.

Referenced by Draw(), Paint(), and UnDraw().

void TGo4Marker::SetToBin ( Int_t  xbin,
Int_t  ybin = 0 
)

Set marker to position according to work histogram axis.

Definition at line 161 of file TGo4Marker.cxx.

References CheckHistogram(), and fxHisto.

void TGo4Marker::SetVisible ( Bool_t  on)
inline

Definition at line 65 of file TGo4Marker.h.

References fbVisible.

void TGo4Marker::SetXbinDraw ( Bool_t  on)
inline

Definition at line 80 of file TGo4Marker.h.

References fbXbinDraw.

void TGo4Marker::SetXDraw ( Bool_t  on)
inline

Definition at line 76 of file TGo4Marker.h.

References fbXDraw.

void TGo4Marker::SetXY ( Double_t  x,
Double_t  y 
)
inline

Definition at line 105 of file TGo4Marker.h.

void TGo4Marker::SetYbinDraw ( Bool_t  on)
inline

Definition at line 82 of file TGo4Marker.h.

References fbYbinDraw.

void TGo4Marker::SetYDraw ( Bool_t  on)
inline

Definition at line 78 of file TGo4Marker.h.

References fbYDraw.

void TGo4Marker::UnDraw ( Option_t *  opt = "")
virtual

Erase view of this marker from the pad

Definition at line 124 of file TGo4Marker.cxx.

References fxPainter, SetDrawPad(), SetPainted(), and TGo4MarkerPainter::UnPaintLabel().

Referenced by Draw(), and ~TGo4Marker().

Member Data Documentation

Bool_t TGo4Marker::fbContDraw
private

If true, draw corresponding value as label on working pad

Definition at line 205 of file TGo4Marker.h.

Referenced by InitLabelStyle(), IsContDraw(), SaveLabelStyle(), and SetContDraw().

Bool_t TGo4Marker::fbHasConnector
private

Switch connection line between marker and label on or off.

Definition at line 190 of file TGo4Marker.h.

Referenced by HasConnector(), InitLabelStyle(), SaveLabelStyle(), and SetLineDraw().

Bool_t TGo4Marker::fbHasLabel
private

Switch marker label on or off.

Definition at line 187 of file TGo4Marker.h.

Referenced by HasLabel(), InitLabelStyle(), SaveLabelStyle(), and SetLabelDraw().

Bool_t TGo4Marker::fbIsPainted
private

Flag to prevent Paint() method to redraw marker views after UnDraw. Problem with Paint() called from ROOT event loop.

Definition at line 181 of file TGo4Marker.h.

Referenced by IsPainted(), and SetPainted().

Bool_t TGo4Marker::fbVisible
private

Visibility of this marker on pad. For marker array in editor

Definition at line 184 of file TGo4Marker.h.

Referenced by IsVisible(), and SetVisible().

Bool_t TGo4Marker::fbXbinDraw
private

If true, draw corresponding value as label on working pad

Definition at line 199 of file TGo4Marker.h.

Referenced by InitLabelStyle(), IsXbinDraw(), SaveLabelStyle(), and SetXbinDraw().

Bool_t TGo4Marker::fbXDraw
private

If true, draw corresponding value as label on working pad

Definition at line 193 of file TGo4Marker.h.

Referenced by InitLabelStyle(), IsXDraw(), SaveLabelStyle(), and SetXDraw().

Bool_t TGo4Marker::fbYbinDraw
private

If true, draw corresponding value as label on working pad

Definition at line 202 of file TGo4Marker.h.

Referenced by InitLabelStyle(), IsYbinDraw(), SaveLabelStyle(), and SetYbinDraw().

Bool_t TGo4Marker::fbYDraw
private

If true, draw corresponding value as label on working pad

Definition at line 196 of file TGo4Marker.h.

Referenced by InitLabelStyle(), IsYDraw(), SaveLabelStyle(), and SetYDraw().

Bool_t TGo4Marker::fgbCONTDRAW = kTRUE
static

default setting for all markers of bin content flag.

Definition at line 150 of file TGo4Marker.h.

Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().

Bool_t TGo4Marker::fgbHASCONNECTOR = kTRUE
static

default setting for all markers of connector line flag.

Definition at line 135 of file TGo4Marker.h.

Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().

Bool_t TGo4Marker::fgbHASLABEL = kTRUE
static

default setting for all markers of label on/off flag.

Definition at line 132 of file TGo4Marker.h.

Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().

Bool_t TGo4Marker::fgbXBINDRAW = kFALSE
static

default setting for all markers of xbindraw flag.

Definition at line 144 of file TGo4Marker.h.

Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().

Bool_t TGo4Marker::fgbXDRAW = kTRUE
static

default setting for all markers of xdraw flag.

Definition at line 138 of file TGo4Marker.h.

Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().

Bool_t TGo4Marker::fgbYBINDRAW = kFALSE
static

default setting for all markers of ybindraw flag.

Definition at line 147 of file TGo4Marker.h.

Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().

Bool_t TGo4Marker::fgbYDRAW = kTRUE
static

default setting for all markers of ydraw flag.

Definition at line 141 of file TGo4Marker.h.

Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().

UInt_t TGo4Marker::fguInstanceCounter = 0
staticprivate

use this counter for automatic naming and coloring

Definition at line 218 of file TGo4Marker.h.

Referenced by GetInstances(), and TGo4Marker().

TString TGo4Marker::fgxNUMFORMAT = "%.4E"
static

default setting for all conditions with format string for numbers.

Definition at line 153 of file TGo4Marker.h.

Referenced by GetGlobalStyle(), InitLabelStyle(), SaveLabelStyle(), and SetGlobalStyle().

TVirtualPad* TGo4Marker::fxDrawPad
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 215 of file TGo4Marker.h.

Referenced by CheckDrawPad(), GetDrawPad(), GetLabelX(), GetLabelY(), GetXbin(), GetYbin(), and SetDrawPad().

TH1* TGo4Marker::fxHisto
private

Reference to currently used histogram (for bin contents).

Definition at line 211 of file TGo4Marker.h.

Referenced by CheckHistogram(), GetCont(), GetHistogram(), GetXbin(), GetYbin(), SetHistogram(), and SetToBin().

TString TGo4Marker::fxName
private

since TMarker is not TNamed, we provide identifier string here:

Definition at line 177 of file TGo4Marker.h.

Referenced by GetName(), SetName(), and TGo4Marker().

TString TGo4Marker::fxNumFormat
private

format string for all label numbers.

Definition at line 208 of file TGo4Marker.h.

Referenced by GetNumFormat(), InitLabelStyle(), SaveLabelStyle(), and SetNumFormat().

TGo4MarkerPainter* TGo4Marker::fxPainter
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 166 of file TGo4Marker.h.

Referenced by DeletePainter(), ExecuteEvent(), Paint(), Pop(), ResetLabel(), UnDraw(), and ~TGo4Marker().


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