class TParallelCoordVar: public TNamed, public TAttLine, public TAttFill


Axes:

Class containing a variable for the TParallelCoord.

Options can be defined each axis separatly using the right mouse click. These options can be applied to every axes using the editor.

  • Axis width: If set to 0, the axis is simply a line. If higher, a color histogram is drawn on the axis.
  • Axis histogram height: If not 0, a usual bar histogram is drawn on the plot.

The order in which the variables are drawn is essential to see the clusters. The axes can be dragged to change their position. A zoom is also available. The logarithm scale is also available by right clicking on the axis.


Function Members (Methods)

public:
TParallelCoordVar()
TParallelCoordVar(const TParallelCoordVar&)
TParallelCoordVar(Double_t* val, const char* title, Int_t id, TParallelCoord* gram)
virtual~TParallelCoordVar()
voidTObject::AbstractMethod(const char* method) const
voidAddRange()MENU
voidAddRange(TParallelCoordRange* range)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
voidDeleteVariable()MENU
Int_tTAttLine::DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
virtual Int_tDistancetoPrimitive(Int_t px, Int_t py)
virtual voidDraw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
Bool_tEval(Long64_t evtidx, TParallelCoordSelect* select)
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidExecuteEvent(Int_t entry, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Bool_tGetBarHisto()
Bool_tGetBoxPlot()
Double_tGetCurrentAverage() const
Double_tGetCurrentMax() const
Double_tGetCurrentMin() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Int_tGetEntryWeight(Long64_t evtidx)
voidGetEntryXY(Long64_t n, Double_t& x, Double_t& y)
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
Int_tGetHistBinning() const
Double_tGetHistHeight()
Int_tGetHistLineWidth()
TH1F*GetHistogram()
virtual const char*TObject::GetIconName() const
Int_tGetId()
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
Bool_tGetLogScale() const
voidGetMinMaxMean()
virtual const char*TNamed::GetName() const
Int_tGetNbins()
Long64_tGetNentries() const
virtual char*GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TParallelCoord*GetParallel()
voidGetQuantiles()
TList*GetRanges()
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_tGetValuefromXY(Double_t x, Double_t y)
Double_t*GetValues()
Bool_tGetVert()
Double_tGetX()
voidGetXYfromValue(Double_t value, Double_t& x, Double_t& y)
Double_tGetY()
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
voidInit()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tTAttFill::IsTransparent() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual voidTAttLine::Modify()
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TParallelCoordVar&operator=(const TParallelCoordVar&)
virtual voidPaint(Option_t* option = "")
voidPaintBoxPlot()
voidPaintHistogram()
voidPaintLabels()
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") constMENU
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidTAttFill::ResetAttFill(Option_t* option = "")
virtual voidTAttLine::ResetAttLine(Option_t* option = "")
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTAttFill::SaveFillAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1001)
virtual voidTAttLine::SaveLineAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t widdef = 1)
virtual voidSavePrimitive(ostream& out, Option_t* options)
voidSetBarHisto(Bool_t h)TOGGLE GETTER
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetBoxPlot(Bool_t box)TOGGLE GETTER
voidSetCurrentLimits(Double_t min, Double_t max)MENU
voidSetCurrentMax(Double_t max)
voidSetCurrentMin(Double_t min)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTAttFill::SetFillAttributes()MENU
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
voidSetHistogramBinning(Int_t n = 100)MENU
voidSetHistogramHeight(Double_t h = 0)MENU
voidSetHistogramLineWidth(Int_t lw = 2)MENU
voidSetInitMax(Double_t max)
voidSetInitMin(Double_t min)
virtual voidTAttLine::SetLineAttributes()MENU
virtual voidTAttLine::SetLineColor(Color_t lcolor)
virtual voidTAttLine::SetLineStyle(Style_t lstyle)
virtual voidTAttLine::SetLineWidth(Width_t lwidth)
voidSetLiveRangesUpdate(Bool_t on)
voidSetLogScale(Bool_t log)TOGGLE GETTER
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetTitle(const char*)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetValues(Long64_t length, Double_t* val)
voidSetX(Double_t x, Bool_t gl)
voidSetY(Double_t y, Bool_t gl)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidUnzoom()MENU
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum { kLogScale
kShowBox
kShowBarHisto
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style
Color_tTAttLine::fLineColorline color
Style_tTAttLine::fLineStyleline style
Width_tTAttLine::fLineWidthline width
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
Double_tfHistoHeightHistogram Height.
Int_tfHistoLWLine width used to draw the histogram line.
TH1F*fHistogram! Histogram holding the variable distribution.
Int_tfIdId identifying the variable for the editor.
Double_tfMaxCurrentCurrent used maximum.
Double_tfMaxInitMemory of the maximum when first initialized.
Double_tfMeanAverage.
Double_tfMedMedian value (Q2).
Double_tfMinCurrentCurrent used minimum.
Double_tfMinInitMemory of the minimum when first initialized.
Int_tfNbinsNumber of bins in fHistogram.
Long64_tfNentriesNumber of stored entries values.
TParallelCoord*fParallelPointer to the TParallelCoord which owns the TParallelCoordVar.
Double_tfQua1First quantile (Q1).
Double_tfQua3Third quantile (Q3).
TList*fRangesList of the TParallelRange owned by TParallelCoordVar.
Double_t*fVal![fNentries] Entries values for the variable.
Double_tfX1x1 coordinate of the axis.
Double_tfX2x2 coordinate of the axis.
Double_tfY1y1 coordinate of the axis.
Double_tfY2y2 coordinate of the axis.

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TParallelCoordVar(const TParallelCoordVar& )
 Default constructor.
~TParallelCoordVar()
Destructor.
TParallelCoordVar(Double_t* val, const char* title, Int_t id, TParallelCoord* gram)
 Normal constructor. By default, the title and the name are the expression given to TTree::Draw. The name
 can be changed by the user (the label on the plot) but not the title.
void AddRange(TParallelCoordRange* range)
 Add a range to the current selection on the axis.
void DeleteVariable()
 Delete variables.
Int_t DistancetoPrimitive(Int_t px, Int_t py)
 Computes the distance from the axis.
void Draw(Option_t* option = "")
 Draw the axis.
Bool_t Eval(Long64_t evtidx, TParallelCoordSelect* select)
 Check if the entry is within the range(s) of "select". Two ranges on a single
 axis are conjugated as a "or": to be selected, the entry must be in one of
 the ranges.
void ExecuteEvent(Int_t entry, Int_t px, Int_t py)
 Execute the corresponding entry.
void GetEntryXY(Long64_t n, Double_t& x, Double_t& y)
 Get the position of the variable on the graph for the n'th entry.
Int_t GetEntryWeight(Long64_t evtidx)
 Get the entry weight: The weight of an entry for a given variable
 is the bin content of the histogram bin the entry is going through.
TH1F* GetHistogram()
 Create or recreate the histogram.
void GetMinMaxMean()
Get mean, min and max of thos variable
char* GetObjectInfo(Int_t px, Int_t py) const
 Returns info about this axis.
void GetQuantiles()
 Get the box plot values (quantiles).
Double_t GetValuefromXY(Double_t x, Double_t y)
 Get the value corresponding to the posiiton.
void GetXYfromValue(Double_t value, Double_t& x, Double_t& y)
 Get a position corresponding to the value on the axis.
void Init()
 Initialise the TParallelVar variables.
void Paint(Option_t* option = "")
 Paint the axis.
void PaintBoxPlot()
 Paint the boxes in the case of a cnadle chart.
void PaintHistogram()
 Paint the histogram on the axis.
void PaintLabels()
 Paint the axis labels and titles.
void Print(Option_t* option = "") const
 Print the axis main datas.
void SavePrimitive(ostream& out, Option_t* options)
 Save the TParallelCoordVar as a macro. Can be used only in the context
 of TParallelCoord::SavePrimitive (pointer "TParallelCoord* para" is
 defined in TParallelCoord::SavePrimitive) with the option "pcalled".
void SetBoxPlot(Bool_t box)
 Set the axis to display a candle.
void SetHistogramBinning(Int_t n = 100)
 Set the histogram binning.
void SetHistogramHeight(Double_t h = 0)
 Set the height of the bar histogram.
void SetCurrentMin(Double_t min)
 Set the current minimum of the axis.
void SetCurrentMax(Double_t max)
 Set the current maximum of the axis.
void SetCurrentLimits(Double_t min, Double_t max)
 Set the limits within which one the entries must be painted.
void SetLiveRangesUpdate(Bool_t on)
 If true, the pad is updated while the motion of a dragged range.
void SetLogScale(Bool_t log)
 Set the axis in logscale.
void SetValues(Long64_t length, Double_t* val)
 Set the variable values.
void SetX(Double_t x, Bool_t gl)
 Set the X position of the axis in the case of a vertical axis.
 and rotate the axis if it was horizontal.
void SetY(Double_t y, Bool_t gl)
 Set the Y position of the axis in the case of a horizontal axis.
 and rotate the axis if it was vertical.
TParallelCoordVar(const TParallelCoordVar& )
void AddRange(TParallelCoordRange* range)
Bool_t GetBarHisto()
{return TestBit(kShowBarHisto);}
Bool_t GetBoxPlot()
{return TestBit(kShowBox);}
Int_t GetId()
{return fId;}
Bool_t GetLogScale()
{return TestBit (kLogScale);}
Int_t GetHistBinning()
{return fNbins;}
Double_t GetCurrentMin()
{return fMinCurrent;}
Double_t GetCurrentMax()
{return fMaxCurrent;}
Double_t GetCurrentAverage()
{return fMean;}
Double_t GetHistHeight()
{return fHistoHeight;}
Int_t GetHistLineWidth()
{return fHistoLW;}
Double_t GetX()
{return fX1;}
Double_t GetY()
{return fY1;}
Int_t GetNbins()
{return fNbins;}
Long64_t GetNentries()
{return fNentries;}
TParallelCoord* GetParallel()
{return fParallel;}
TList * GetRanges()
{return fRanges;}
Double_t * GetValues()
{return fVal;}
Bool_t GetVert()
{return fX1 == fX2;}
void SetBarHisto(Bool_t h)
{SetBit(kShowBarHisto,h);}
void SetHistogramLineWidth(Int_t lw = 2)
{fHistoLW = lw;}
void SetInitMin(Double_t min)
{fMinInit = min;}
void SetInitMax(Double_t max)
{fMaxInit = max;}
void SetTitle(const char* )
{}
void Unzoom()
{SetCurrentLimits(fMinInit,fMaxInit);}

Author: Bastien Dalla Piazza 02/08/2007
Last change: root/treeviewer:$Id: TParallelCoordVar.h 20882 2007-11-19 11:31:26Z rdm $
Last generated: 2008-06-25 08:50
Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.