| # Gaudi Framework, version v20r2
Generated: 18 Jul 2008

- Main Page
- Namespaces
- Classes
- Files
- Directories
- Related Pages

- Search for |

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# 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 29 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
self & | me () const
## Private Attributes
TAxis * | taxis_
bool | fixed_

## Member Typedef Documentation

typedef Axis Gaudi::Axis::self

Definition at line 32 of file Axis.h.

## Constructor & Destructor Documentation

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

Definition at line 64 of file Axis.h.

References fixed_, and taxis_.

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

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

Definition at line 66 of file Axis.h.

References fixed_, and taxis_.

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

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

Destructor.

Definition at line 74 of file Axis.h.

    00074 {}

## Member Function Documentation

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

Definition at line 34 of file Axis.h.

References toRootIndex().

Referenced by rIndex(), and toRootIndex().

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

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

Definition at line 40 of file Axis.h.

References toAidaIndex().

Referenced by aIndex(), and toAidaIndex().

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

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 52 of file Axis.h.

References bins(), rIndex(), and toRootIndex().

Referenced by binLowerEdge(), binUpperEdge(), binWidth(), Gaudi::Generic1D< AIDA::IHistogram1D, TH1D >::rIndex(), rIndex(), Gaudi::Generic3D< AIDA::IHistogram3D, TH3D >::rIndexX(), Gaudi::Generic2D< AIDA::IProfile2D, TProfile2D >::rIndexX(), Gaudi::Generic3D< AIDA::IHistogram3D, TH3D >::rIndexY(), Gaudi::Generic2D< AIDA::IProfile2D, TProfile2D >::rIndexY(), and Gaudi::Generic3D< AIDA::IHistogram3D, TH3D >::rIndexZ().

    00052 { 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 60 of file Axis.h.

References aIndex(), bins(), and toAidaIndex().

Referenced by aIndex(), and coordToIndex().

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

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

Definition at line 68 of file Axis.h.

References fixed_, initialize(), and taxis_.

Referenced by Gaudi::Generic2D< AIDA::IProfile2D, TProfile2D >::adoptRepresentation(), Gaudi::Generic1D< AIDA::IProfile1D, TProfile >::adoptRepresentation(), Gaudi::Generic3D< AIDA::IHistogram3D, TH3D >::adoptRepresentation(), Gaudi::Generic2D< INTERFACE, IMPLEMENTATION >::adoptRepresentation(), Gaudi::Histogram3D::copyFromAida(), Gaudi::Histogram2D::copyFromAida(), Gaudi::Histogram1D::copyFromAida(), Gaudi::Profile1D::init(), Gaudi::Histogram1D::init(), initialize(), and Gaudi::Histogram1D::serialize().

    00068                                                       {
    00069       taxis_ = itaxi;
    00070       fixed_ = isfixed;
    00071     }

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 81 of file Axis.h.

References fixed_, and isFixedBinning().

Referenced by isFixedBinning(), and Gaudi::Histogram1D::serialize().

    00081 { 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 88 of file Axis.h.

References lowerEdge(), and taxis().

Referenced by lowerEdge(), and Gaudi::Histogram1D::serialize().

    00088 { 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 95 of file Axis.h.

References taxis(), and upperEdge().

Referenced by Gaudi::Histogram1D::serialize(), and upperEdge().

    00095 { 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 102 of file Axis.h.

References bins(), and taxis().

Referenced by aIndex(), bins(), Gaudi::Histogram1D::copyFromAida(), rIndex(), Gaudi::Histogram1D::serialize(), and Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::write().

    00102 { 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 110 of file Axis.h.

References binLowerEdge(), rIndex(), and taxis().

Referenced by binLowerEdge(), and Gaudi::Histogram1D::serialize().

    00110 { 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 117 of file Axis.h.

References binUpperEdge(), rIndex(), and taxis().

Referenced by binUpperEdge().

    00117 { 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 125 of file Axis.h.

References binWidth(), rIndex(), and taxis().

Referenced by binWidth().

    00125 { 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 136 of file Axis.h.

References aIndex(), coordToIndex(), and taxis().

Referenced by Gaudi::Generic1D< AIDA::IHistogram1D, TH1D >::coordToIndex(), and coordToIndex().

    00137     {
    00138       return aIndex( taxis().FindBin(coord) );
    00139     }

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

Definition at line 144 of file Axis.h.

References me(), taxis(), and taxis_.

Referenced by binLowerEdge(), bins(), binUpperEdge(), binWidth(), coordToIndex(), lowerEdge(), taxis(), and upperEdge().

    00144 { return *me().taxis_;}

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

Definition at line 150 of file Axis.h.

References me().

Referenced by me(), and taxis().

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

## Member Data Documentation

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

Definition at line 153 of file Axis.h.

Referenced by Axis(), initialize(), and taxis().

bool Gaudi::Axis::fixed_`[private]`

Definition at line 154 of file Axis.h.

Referenced by Axis(), initialize(), and isFixedBinning().

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r2/GaudiSvc/v17r1/src/HistogramSvc/Axis.h