Gaudi Framework, version v21r4

Home   Generated: 7 Sep 2009

Gaudi::Axis Class Reference

#include <Axis.h>

List of all members.


Detailed Description

An IAxis represents a binned histogram axis.

A 1D Histogram would have one Axis representing the X axis, while a 2D Histogram would have two axes representing the X and Y Axis.

Author:
The AIDA team (http://aida.freehep.org/)

Definition at line 31 of file Axis.h.


Public Types

typedef Axis self

Public Member Functions

int rIndex (int index) const
 Convert a AIDA bin number on the axis to the ROOT bin number.
int aIndex (int index) const
 Convert a ROOT bin number on the axis to the AIDA bin number.
 Axis ()
 Axis (TAxis *itaxi, bool isfixed=true)
void initialize (TAxis *itaxi, bool isfixed=true)
virtual ~Axis ()
 Destructor.
virtual bool isFixedBinning () const
 Check if the IAxis has fixed binning, i.e.
virtual double lowerEdge () const
 Get the lower edge of the IAxis.
virtual double upperEdge () const
 Get the upper edge of the IAxis.
virtual int bins () const
 The number of bins (excluding underflow and overflow) on the IAxis.
virtual double binLowerEdge (int index) const
 Get the lower edge of the specified bin.
virtual double binUpperEdge (int index) const
 Get the upper edge of the specified bin.
virtual double binWidth (int index) const
 Get the width of the specified bin.
virtual int coordToIndex (double coord) const
 Convert a coordinate on the axis to a bin number.
TAxis & taxis () const

Static Public Member Functions

static int toRootIndex (int index, int nbins)
static int toAidaIndex (int index, int bins)

Private Member Functions

selfme () const

Private Attributes

TAxis * taxis_
bool fixed_

Member Typedef Documentation

typedef Axis Gaudi::Axis::self

Definition at line 34 of file Axis.h.


Constructor & Destructor Documentation

Gaudi::Axis::Axis (  )  [inline]

Definition at line 66 of file Axis.h.

00066 : taxis_(0), fixed_(true)  {}

Gaudi::Axis::Axis ( TAxis *  itaxi,
bool  isfixed = true 
) [inline, explicit]

Definition at line 68 of file Axis.h.

00068 : taxis_(itaxi), fixed_(isfixed){}

virtual Gaudi::Axis::~Axis (  )  [inline, virtual]

Destructor.

Definition at line 76 of file Axis.h.

00076 {}


Member Function Documentation

static int Gaudi::Axis::toRootIndex ( int  index,
int  nbins 
) [inline, static]

Definition at line 36 of file Axis.h.

00036                                                  {
00037       if (index==AIDA::IAxis::OVERFLOW_BIN) return nbins+1;
00038       if (index==AIDA::IAxis::UNDERFLOW_BIN) return 0;
00039       return index+1;
00040     }

static int Gaudi::Axis::toAidaIndex ( int  index,
int  bins 
) [inline, static]

Definition at line 42 of file Axis.h.

00042                                                 {
00043       if ( index == bins + 1 ) return AIDA::IAxis::OVERFLOW_BIN ;
00044       if ( index == 0 ) return AIDA::IAxis::UNDERFLOW_BIN ;
00045       return index - 1 ;
00046     }

int Gaudi::Axis::rIndex ( int  index  )  const [inline]

Convert a AIDA bin number on the axis to the ROOT bin number.

Parameters:
index TheAIDA bin number
Returns:
The corresponding ROOT bin number.

Definition at line 54 of file Axis.h.

00054 { return toRootIndex(index, bins());}

int Gaudi::Axis::aIndex ( int  index  )  const [inline]

Convert a ROOT bin number on the axis to the AIDA bin number.

Parameters:
index The ROOT bin number: 1 to bins() for the in-range bins or bins()+1 for OVERFLOW or 0 for UNDERFLOW.
Returns:
The corresponding AIDA bin number.

Definition at line 62 of file Axis.h.

00062 { return toAidaIndex(index, bins()); }

void Gaudi::Axis::initialize ( TAxis *  itaxi,
bool  isfixed = true 
) [inline]

Definition at line 70 of file Axis.h.

00070                                                       {
00071       taxis_ = itaxi;
00072       fixed_ = isfixed;
00073     }

virtual bool Gaudi::Axis::isFixedBinning (  )  const [inline, virtual]

Check if the IAxis has fixed binning, i.e.

if all the bins have the same width.

Returns:
true if the binning is fixed, false otherwise.

Definition at line 83 of file Axis.h.

00083 { return fixed_;}

virtual double Gaudi::Axis::lowerEdge (  )  const [inline, virtual]

Get the lower edge of the IAxis.

Returns:
The IAxis's lower edge.

Definition at line 90 of file Axis.h.

00090 { return taxis().GetXmin();}

virtual double Gaudi::Axis::upperEdge (  )  const [inline, virtual]

Get the upper edge of the IAxis.

Returns:
The IAxis's upper edge.

Definition at line 97 of file Axis.h.

00097 { return taxis().GetXmax();}

virtual int Gaudi::Axis::bins (  )  const [inline, virtual]

The number of bins (excluding underflow and overflow) on the IAxis.

Returns:
The IAxis's number of bins.

Definition at line 104 of file Axis.h.

00104 { return taxis().GetNbins();}

virtual double Gaudi::Axis::binLowerEdge ( int  index  )  const [inline, virtual]

Get the lower edge of the specified bin.

Parameters:
index The bin number: 0 to bins()-1 for the in-range bins or OVERFLOW or UNDERFLOW.
Returns:
The lower edge of the corresponding bin; for the underflow bin this is Double.NEGATIVE_INFINITY.

Definition at line 112 of file Axis.h.

00112 { return taxis().GetBinLowEdge(rIndex(index));}

virtual double Gaudi::Axis::binUpperEdge ( int  index  )  const [inline, virtual]

Get the upper edge of the specified bin.

Parameters:
index The bin number: 0 to bins()-1 for the in-range bins or OVERFLOW or UNDERFLOW.
Returns:
The upper edge of the corresponding bin; for the overflow bin this is Double.POSITIVE_INFINITY.

Definition at line 119 of file Axis.h.

00119 { return taxis().GetBinUpEdge(rIndex(index));}

virtual double Gaudi::Axis::binWidth ( int  index  )  const [inline, virtual]

Get the width of the specified bin.

Parameters:
index The bin number: 0 to bins()-1) for the in-range bins or OVERFLOW or UNDERFLOW.
Returns:
The width of the corresponding bin.

Definition at line 127 of file Axis.h.

00127 { return taxis().GetBinWidth(rIndex(index));}

virtual int Gaudi::Axis::coordToIndex ( double  coord  )  const [inline, virtual]

Convert a coordinate on the axis to a bin number.

If the coordinate is less than the lowerEdge UNDERFLOW is returned; if the coordinate is greater or equal to the upperEdge OVERFLOW is returned.

Parameters:
coord The coordinate to be converted.
Returns:
The corresponding bin number.

Definition at line 138 of file Axis.h.

00139     {
00140       return aIndex( taxis().FindBin(coord) );
00141     }

TAxis& Gaudi::Axis::taxis (  )  const [inline]

Definition at line 146 of file Axis.h.

00146 { return *me().taxis_;}

self& Gaudi::Axis::me (  )  const [inline, private]

Definition at line 152 of file Axis.h.

00152 { return const_cast<self&>(*this);}


Member Data Documentation

TAxis* Gaudi::Axis::taxis_ [private]

Definition at line 155 of file Axis.h.

bool Gaudi::Axis::fixed_ [private]

Definition at line 156 of file Axis.h.


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

Generated at Mon Sep 7 18:25:51 2009 for Gaudi Framework, version v21r4 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004