The Gaudi Framework  v30r3 (a5ef0a68)
Gaudi::Axis Class Reference

An IAxis represents a binned histogram axis. More...

#include <GaudiCommonSvc/Axis.h>

Inheritance diagram for Gaudi::Axis:
Collaboration diagram for Gaudi::Axis:

Public Member Functions

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

Static Public Member Functions

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

Private Member Functions

Axisme () const
 

Private Attributes

TAxis * taxis_ = nullptr
 

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

Constructor & Destructor Documentation

Gaudi::Axis::Axis ( )
default
Gaudi::Axis::Axis ( TAxis *  itaxi)
inlineexplicit

Definition at line 65 of file Axis.h.

65 : taxis_( itaxi ) {}
TAxis * taxis_
Definition: Axis.h:141

Member Function Documentation

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

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

Parameters
indexThe 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 61 of file Axis.h.

61 { return toAidaIndex( index, bins() ); }
static int toAidaIndex(int index, int bins)
Definition: Axis.h:40
int bins() const override
The number of bins (excluding underflow and overflow) on the IAxis.
Definition: Axis.h:95
double Gaudi::Axis::binLowerEdge ( int  index) const
inlineoverride

Get the lower edge of the specified bin.

Parameters
indexThe 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 104 of file Axis.h.

104 { return taxis().GetBinLowEdge( rIndex( index ) ); }
TAxis & taxis() const
Definition: Axis.h:136
int rIndex(int index) const
Convert a AIDA bin number on the axis to the ROOT bin number.
Definition: Axis.h:53
int Gaudi::Axis::bins ( ) const
inlineoverride

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

Returns
The IAxis's number of bins.

Definition at line 95 of file Axis.h.

95 { return taxis().GetNbins(); }
TAxis & taxis() const
Definition: Axis.h:136
double Gaudi::Axis::binUpperEdge ( int  index) const
inlineoverride

Get the upper edge of the specified bin.

Parameters
indexThe 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 112 of file Axis.h.

112 { return taxis().GetBinUpEdge( rIndex( index ) ); }
TAxis & taxis() const
Definition: Axis.h:136
int rIndex(int index) const
Convert a AIDA bin number on the axis to the ROOT bin number.
Definition: Axis.h:53
double Gaudi::Axis::binWidth ( int  index) const
inlineoverride

Get the width of the specified bin.

Parameters
indexThe 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 120 of file Axis.h.

120 { return taxis().GetBinWidth( rIndex( index ) ); }
TAxis & taxis() const
Definition: Axis.h:136
int rIndex(int index) const
Convert a AIDA bin number on the axis to the ROOT bin number.
Definition: Axis.h:53
int Gaudi::Axis::coordToIndex ( double  coord) const
inlineoverride

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
coordThe coordinate to be converted.
Returns
The corresponding bin number.

Definition at line 131 of file Axis.h.

131 { return aIndex( taxis().FindBin( coord ) ); }
int aIndex(int index) const
Convert a ROOT bin number on the axis to the AIDA bin number.
Definition: Axis.h:61
TAxis & taxis() const
Definition: Axis.h:136
void Gaudi::Axis::initialize ( TAxis *  itaxi,
bool   
)
inline

Definition at line 67 of file Axis.h.

67 { taxis_ = itaxi; }
TAxis * taxis_
Definition: Axis.h:141
bool Gaudi::Axis::isFixedBinning ( ) const
inlineoverride

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

74 { return 0 == taxis_ ? true : !taxis_->IsVariableBinSize(); }
TAxis * taxis_
Definition: Axis.h:141
double Gaudi::Axis::lowerEdge ( ) const
inlineoverride

Get the lower edge of the IAxis.

Returns
The IAxis's lower edge.

Definition at line 81 of file Axis.h.

81 { return taxis().GetXmin(); }
TAxis & taxis() const
Definition: Axis.h:136
Axis& Gaudi::Axis::me ( ) const
inlineprivate

Definition at line 139 of file Axis.h.

139 { return const_cast<Axis&>( *this ); }
Axis()=default
int Gaudi::Axis::rIndex ( int  index) const
inline

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

Parameters
indexTheAIDA bin number
Returns
The corresponding ROOT bin number.

Definition at line 53 of file Axis.h.

53 { return toRootIndex( index, bins() ); }
int bins() const override
The number of bins (excluding underflow and overflow) on the IAxis.
Definition: Axis.h:95
static int toRootIndex(int index, int nbins)
Definition: Axis.h:33
TAxis& Gaudi::Axis::taxis ( ) const
inline

Definition at line 136 of file Axis.h.

136 { return *me().taxis_; }
Axis & me() const
Definition: Axis.h:139
TAxis * taxis_
Definition: Axis.h:141
static int Gaudi::Axis::toAidaIndex ( int  index,
int  bins 
)
inlinestatic

Definition at line 40 of file Axis.h.

41  {
42  if ( index == bins + 1 ) return AIDA::IAxis::OVERFLOW_BIN;
43  if ( index == 0 ) return AIDA::IAxis::UNDERFLOW_BIN;
44  return index - 1;
45  }
int bins() const override
The number of bins (excluding underflow and overflow) on the IAxis.
Definition: Axis.h:95
static int Gaudi::Axis::toRootIndex ( int  index,
int  nbins 
)
inlinestatic

Definition at line 33 of file Axis.h.

34  {
35  if ( index == AIDA::IAxis::OVERFLOW_BIN ) return nbins + 1;
36  if ( index == AIDA::IAxis::UNDERFLOW_BIN ) return 0;
37  return index + 1;
38  }
double Gaudi::Axis::upperEdge ( ) const
inlineoverride

Get the upper edge of the IAxis.

Returns
The IAxis's upper edge.

Definition at line 88 of file Axis.h.

88 { return taxis().GetXmax(); }
TAxis & taxis() const
Definition: Axis.h:136

Member Data Documentation

TAxis* Gaudi::Axis::taxis_ = nullptr
private

Definition at line 141 of file Axis.h.


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