The Gaudi Framework  master (37c0b60a)
Gaudi::Generic3D< INTERFACE, IMPLEMENTATION > Class Template Reference

#include <GaudiPI/Generic3D.h>

Inheritance diagram for Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >:
Collaboration diagram for Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >:

Public Types

typedef Generic3D< INTERFACE, IMPLEMENTATION > Base
 

Public Member Functions

 Generic3D ()=default
 Default constructor. More...
 
TObject * representation () const override
 ROOT object implementation. More...
 
void adoptRepresentation (TObject *rep) override
 Adopt ROOT histogram representation. More...
 
int dimension () const override
 Get the Histogram's dimension. More...
 
std::string title () const override
 Get the title of the object. More...
 
bool setTitle (const std::string &title) override
 Set the title of the object. More...
 
std::string name () const
 object name More...
 
bool setName (const std::string &newName)
 Sets the name of the object. More...
 
AIDA::IAnnotation & annotation () override
 Access annotation object. More...
 
const AIDA::IAnnotation & annotation () const override
 Access annotation object (cons) More...
 
int entries () const override
 Get the number or all the entries. More...
 
int allEntries () const override
 Get the number or all the entries, both in range and underflow/overflow bins of the IProfile. More...
 
double sumBinHeights () const override
 Get the sum of in range bin heights in the IProfile. More...
 
double sumAllBinHeights () const override
 Get the sum of all the bins heights (including underflow and overflow bin). More...
 
double sumExtraBinHeights () const override
 Get the sum of the underflow and overflow bin height. More...
 
double minBinHeight () const override
 Get the minimum height of the in-range bins. More...
 
double maxBinHeight () const override
 Get the maximum height of the in-range bins. More...
 
int rIndexX (int index) const
 
int rIndexY (int index) const
 
int rIndexZ (int index) const
 
double binMeanX (int indexX, int, int) const override
 The weighted mean along the x axis of a given bin. More...
 
double binMeanY (int, int indexY, int) const override
 The weighted mean along the y axis of a given bin. More...
 
double binMeanZ (int, int, int indexZ) const override
 The weighted mean along the z axis of a given bin. More...
 
int binEntries (int indexX, int indexY, int indexZ) const override
 Number of entries in the corresponding bin (ie the number of times fill was calle d for this bin). More...
 
int binEntriesX (int index) const override
 Sum of all the entries of the bins along a given x bin. More...
 
int binEntriesY (int index) const override
 Sum of all the entries of the bins along a given y bin. More...
 
int binEntriesZ (int index) const override
 Sum of all the entries of the bins along a given z bin. More...
 
double binHeight (int indexX, int indexY, int indexZ) const
 Total height of the corresponding bin (ie the sum of the weights in this bin). More...
 
double binHeightX (int index) const override
 Sum of all the heights of the bins along a given x bin. More...
 
double binHeightY (int index) const override
 Sum of all the heights of the bins along a given y bin. More...
 
double binHeightZ (int index) const override
 Sum of all the heights of the bins along a given z bin. More...
 
double binError (int indexX, int indexY, int indexZ) const override
 The error of a given bin. More...
 
double meanX () const override
 The mean of the IHistogram3D along the x axis. More...
 
double meanY () const override
 The mean of the IHistogram3D along the y axis. More...
 
double meanZ () const override
 The mean of the IHistogram3D along the z axis. More...
 
double rmsX () const override
 The RMS of the IHistogram3D along the x axis. More...
 
double rmsY () const override
 The RMS of the IHistogram3D along the y axis. More...
 
double rmsZ () const override
 The RMS of the IHistogram3D along the z axis. More...
 
const AIDA::IAxis & xAxis () const override
 Get the x axis of the IHistogram3D. More...
 
const AIDA::IAxis & yAxis () const override
 Get the y axis of the IHistogram3D. More...
 
const AIDA::IAxis & zAxis () const override
 Get the z axis of the IHistogram3D. More...
 
int coordToIndexX (double coord) const override
 Get the bin number corresponding to a given coordinate along the x axis. More...
 
int coordToIndexY (double coord) const override
 Get the bin number corresponding to a given coordinate along the y axis. More...
 
int coordToIndexZ (double coord) const override
 Get the bin number corresponding to a given coordinate along the z axis. More...
 
double equivalentBinEntries () const override
 Number of equivalent entries, i.e. SUM[ weight ] ^ 2 / SUM[ weight^2 ] More...
 
bool scale (double scaleFactor) override
 Scale the weights and the errors of all the IHistogram's bins (in-range and out-of-range ones) by a given scale factor. More...
 
bool add (const INTERFACE &hist) override
 Add to this Histogram3D the contents of another IHistogram3D. More...
 
int extraEntries () const override
 
std::ostreamprint (std::ostream &s) const override
 Print (ASCII) the histogram into the output stream. More...
 
std::ostreamwrite (std::ostream &s) const override
 Write (ASCII) the histogram table into the output stream. More...
 
int write (const char *file_name) const override
 Write (ASCII) the histogram table into a file. More...
 
void adoptRepresentation (TObject *rep)
 Adopt ROOT histogram representation. More...
 
- Public Member Functions inherited from Gaudi::HistogramBase
virtual ~HistogramBase ()=default
 

Protected Member Functions

 Generic3D (IMPLEMENTATION *p)
 constructor More...
 

Protected Attributes

Gaudi::Axis m_xAxis
 
Gaudi::Axis m_yAxis
 
Gaudi::Axis m_zAxis
 
AIDA::Annotation m_annotation
 Object annotations. More...
 
std::unique_ptr< IMPLEMENTATION > m_rep
 Reference to underlying implementation. More...
 
std::string m_classType
 
int m_sumEntries = 0
 

Detailed Description

template<typename INTERFACE, typename IMPLEMENTATION>
class Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >

Common AIDA implementation stuff for histograms and profiles using ROOT implementations

Credits: This code is the result of some stripdown implementation of LCG/PI. Credits to them!

Author
M.Frank

Definition at line 46 of file Generic3D.h.

Member Typedef Documentation

◆ Base

template<typename INTERFACE , typename IMPLEMENTATION >
typedef Generic3D<INTERFACE, IMPLEMENTATION> Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::Base

Definition at line 48 of file Generic3D.h.

Constructor & Destructor Documentation

◆ Generic3D() [1/2]

template<typename INTERFACE , typename IMPLEMENTATION >
Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::Generic3D ( )
default

Default constructor.

◆ Generic3D() [2/2]

template<typename INTERFACE , typename IMPLEMENTATION >
Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::Generic3D ( IMPLEMENTATION *  p)
inlineprotected

constructor

Definition at line 54 of file Generic3D.h.

54 : m_rep( p ) {}

Member Function Documentation

◆ add()

template<typename INTERFACE , typename IMPLEMENTATION >
bool Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::add ( const INTERFACE &  hist)
inlineoverride

Add to this Histogram3D the contents of another IHistogram3D.

Definition at line 199 of file Generic3D.h.

199  {
200  const Base* p = dynamic_cast<const Base*>( &hist );
201  if ( !p ) throw std::runtime_error( "Cannot add profile histograms of different implementations." );
202  m_rep->Add( p->m_rep.get() );
203  return true;
204  }

◆ adoptRepresentation() [1/2]

void Gaudi::Generic3D< AIDA::IHistogram3D, TH3D >::adoptRepresentation ( TObject *  rep)
virtual

Adopt ROOT histogram representation.

Implements Gaudi::HistogramBase.

Definition at line 37 of file H3D.cpp.

37  {
38  TH3D* imp = dynamic_cast<TH3D*>( rep );
39  if ( !imp ) throw std::runtime_error( "Cannot adopt native histogram representation." );
40  m_rep.reset( imp );
41  m_xAxis.initialize( m_rep->GetXaxis(), true );
42  m_yAxis.initialize( m_rep->GetYaxis(), true );
43  m_zAxis.initialize( m_rep->GetZaxis(), true );
44  const TArrayD* a = m_rep->GetSumw2();
45  if ( !a || ( a && a->GetSize() == 0 ) ) m_rep->Sumw2();
46  setTitle( m_rep->GetTitle() );
47  }

◆ adoptRepresentation() [2/2]

template<typename INTERFACE , typename IMPLEMENTATION >
void Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::adoptRepresentation ( TObject *  rep)
overridevirtual

Adopt ROOT histogram representation.

Implements Gaudi::HistogramBase.

◆ allEntries()

template<class INTERFACE , class IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::allEntries
override

Get the number or all the entries, both in range and underflow/overflow bins of the IProfile.

Definition at line 257 of file Generic3D.h.

257  {
258  return int( m_rep->GetEntries() );
259  }

◆ annotation() [1/2]

template<typename INTERFACE , typename IMPLEMENTATION >
const AIDA::IAnnotation& Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::annotation ( ) const
inlineoverride

Access annotation object (cons)

Definition at line 75 of file Generic3D.h.

75 { return m_annotation; }

◆ annotation() [2/2]

template<typename INTERFACE , typename IMPLEMENTATION >
AIDA::IAnnotation& Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::annotation ( )
inlineoverride

Access annotation object.

Definition at line 73 of file Generic3D.h.

73 { return m_annotation; }

◆ binEntries()

template<typename INTERFACE , typename IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binEntries ( int  indexX,
int  indexY,
int  indexZ 
) const
inlineoverride

Number of entries in the corresponding bin (ie the number of times fill was calle d for this bin).

Definition at line 109 of file Generic3D.h.

109  {
110  if ( binHeight( indexX, indexY, indexZ ) <= 0 ) return 0;
111  double xx = binHeight( indexX, indexY, indexZ ) / binError( indexX, indexY, indexZ );
112  return int( xx * xx + 0.5 );
113  }

◆ binEntriesX()

template<typename INTERFACE , typename IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binEntriesX ( int  index) const
inlineoverride

Sum of all the entries of the bins along a given x bin.

Definition at line 115 of file Generic3D.h.

115  {
116  int n = 0;
117  for ( int i = -2; i < yAxis().bins(); ++i )
118  for ( int j = -2; j < zAxis().bins(); ++j ) n += binEntries( index, i, j );
119  return n;
120  }

◆ binEntriesY()

template<typename INTERFACE , typename IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binEntriesY ( int  index) const
inlineoverride

Sum of all the entries of the bins along a given y bin.

Definition at line 122 of file Generic3D.h.

122  {
123  int n = 0;
124  for ( int i = -2; i < xAxis().bins(); ++i )
125  for ( int j = -2; j < zAxis().bins(); ++j ) n += binEntries( i, index, j );
126  return n;
127  }

◆ binEntriesZ()

template<typename INTERFACE , typename IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binEntriesZ ( int  index) const
inlineoverride

Sum of all the entries of the bins along a given z bin.

Definition at line 130 of file Generic3D.h.

130  {
131  int n = 0;
132  for ( int i = -2; i < xAxis().bins(); ++i )
133  for ( int j = -2; j < yAxis().bins(); ++j ) n += binEntries( i, j, index );
134  return n;
135  }

◆ binError()

template<typename INTERFACE , typename IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binError ( int  indexX,
int  indexY,
int  indexZ 
) const
inlineoverride

The error of a given bin.

Definition at line 164 of file Generic3D.h.

164  {
165  return m_rep->GetBinError( rIndexX( indexX ), rIndexY( indexY ), rIndexZ( indexZ ) );
166  }

◆ binHeight()

template<typename INTERFACE , typename IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binHeight ( int  indexX,
int  indexY,
int  indexZ 
) const
inline

Total height of the corresponding bin (ie the sum of the weights in this bin).

Definition at line 138 of file Generic3D.h.

138  {
139  return m_rep->GetBinContent( rIndexX( indexX ), rIndexY( indexY ), rIndexZ( indexZ ) );
140  }

◆ binHeightX()

template<typename INTERFACE , typename IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binHeightX ( int  index) const
inlineoverride

Sum of all the heights of the bins along a given x bin.

Definition at line 143 of file Generic3D.h.

143  {
144  double s = 0;
145  for ( int i = -2; i < yAxis().bins(); ++i )
146  for ( int j = -2; j < zAxis().bins(); ++j ) s += binHeight( index, i, j );
147  return s;
148  }

◆ binHeightY()

template<typename INTERFACE , typename IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binHeightY ( int  index) const
inlineoverride

Sum of all the heights of the bins along a given y bin.

Definition at line 150 of file Generic3D.h.

150  {
151  double s = 0;
152  for ( int i = -2; i < xAxis().bins(); ++i )
153  for ( int j = -2; j < zAxis().bins(); ++j ) s += binHeight( i, index, j );
154  return s;
155  }

◆ binHeightZ()

template<typename INTERFACE , typename IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binHeightZ ( int  index) const
inlineoverride

Sum of all the heights of the bins along a given z bin.

Definition at line 157 of file Generic3D.h.

157  {
158  double s = 0;
159  for ( int i = -2; i < xAxis().bins(); ++i )
160  for ( int j = -2; j < yAxis().bins(); ++j ) s += binHeight( i, j, index );
161  return s;
162  }

◆ binMeanX()

template<typename INTERFACE , typename IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binMeanX ( int  indexX,
int  ,
int   
) const
inlineoverride

The weighted mean along the x axis of a given bin.

Definition at line 97 of file Generic3D.h.

97  {
98  return m_rep->GetXaxis()->GetBinCenter( rIndexX( indexX ) );
99  }

◆ binMeanY()

template<typename INTERFACE , typename IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binMeanY ( int  ,
int  indexY,
int   
) const
inlineoverride

The weighted mean along the y axis of a given bin.

Definition at line 101 of file Generic3D.h.

101  {
102  return m_rep->GetYaxis()->GetBinCenter( rIndexY( indexY ) );
103  }

◆ binMeanZ()

template<typename INTERFACE , typename IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::binMeanZ ( int  ,
int  ,
int  indexZ 
) const
inlineoverride

The weighted mean along the z axis of a given bin.

Definition at line 105 of file Generic3D.h.

105  {
106  return m_rep->GetYaxis()->GetBinCenter( rIndexY( indexZ ) );
107  }

◆ coordToIndexX()

template<typename INTERFACE , typename IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::coordToIndexX ( double  coord) const
inlineoverride

Get the bin number corresponding to a given coordinate along the x axis.

Definition at line 187 of file Generic3D.h.

187 { return xAxis().coordToIndex( coord ); }

◆ coordToIndexY()

template<typename INTERFACE , typename IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::coordToIndexY ( double  coord) const
inlineoverride

Get the bin number corresponding to a given coordinate along the y axis.

Definition at line 189 of file Generic3D.h.

189 { return yAxis().coordToIndex( coord ); }

◆ coordToIndexZ()

template<typename INTERFACE , typename IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::coordToIndexZ ( double  coord) const
inlineoverride

Get the bin number corresponding to a given coordinate along the z axis.

Definition at line 191 of file Generic3D.h.

191 { return zAxis().coordToIndex( coord ); }

◆ dimension()

template<typename INTERFACE , typename IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::dimension ( ) const
inlineoverride

Get the Histogram's dimension.

Definition at line 63 of file Generic3D.h.

63 { return 3; }

◆ entries()

template<class INTERFACE , class IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::entries
override

Get the number or all the entries.

Definition at line 252 of file Generic3D.h.

252  {
253  return m_rep->GetEntries();
254  }

◆ equivalentBinEntries()

template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::equivalentBinEntries
override

Number of equivalent entries, i.e. SUM[ weight ] ^ 2 / SUM[ weight^2 ]

Definition at line 282 of file Generic3D.h.

282  {
283  if ( sumBinHeights() <= 0 ) return 0;
284  Stat_t stats[11]; // cover up to 3D...
285  m_rep->GetStats( stats );
286  return stats[0] * stats[0] / stats[1];
287  }

◆ extraEntries()

template<typename INTERFACE , typename IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::extraEntries ( ) const
inlineoverride

Definition at line 207 of file Generic3D.h.

207  {
208  return binEntries( AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN ) +
209  binEntries( AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::OVERFLOW_BIN ) +
210  binEntries( AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN ) +
211  binEntries( AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN ) +
212  binEntries( AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN, AIDA::IAxis::OVERFLOW_BIN ) +
213  binEntries( AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::UNDERFLOW_BIN ) +
214  binEntries( AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::OVERFLOW_BIN, AIDA::IAxis::OVERFLOW_BIN );
215  }

◆ maxBinHeight()

template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::maxBinHeight
override

Get the maximum height of the in-range bins.

Definition at line 267 of file Generic3D.h.

267  {
268  return m_rep->GetMaximum();
269  }

◆ meanX()

template<typename INTERFACE , typename IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::meanX ( ) const
inlineoverride

The mean of the IHistogram3D along the x axis.

Definition at line 168 of file Generic3D.h.

168 { return m_rep->GetMean( 1 ); }

◆ meanY()

template<typename INTERFACE , typename IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::meanY ( ) const
inlineoverride

The mean of the IHistogram3D along the y axis.

Definition at line 171 of file Generic3D.h.

171 { return m_rep->GetMean( 2 ); }

◆ meanZ()

template<typename INTERFACE , typename IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::meanZ ( ) const
inlineoverride

The mean of the IHistogram3D along the z axis.

Definition at line 173 of file Generic3D.h.

173 { return m_rep->GetMean( 3 ); }

◆ minBinHeight()

template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::minBinHeight
override

Get the minimum height of the in-range bins.

Definition at line 262 of file Generic3D.h.

262  {
263  return m_rep->GetMinimum();
264  }

◆ name()

template<typename INTERFACE , typename IMPLEMENTATION >
std::string Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::name ( ) const
inline

object name

Definition at line 69 of file Generic3D.h.

69 { return m_annotation.value( "Name" ); }

◆ print()

template<class INTERFACE , class IMPLEMENTATION >
std::ostream & Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::print ( std::ostream s) const
overridevirtual

Print (ASCII) the histogram into the output stream.

bin contents and errors are printed for all bins including under and overflows

Implements Gaudi::HistogramBase.

Definition at line 296 of file Generic3D.h.

296  {
298  m_rep->Print( "all" );
299  return s;
300  }

◆ representation()

template<typename INTERFACE , typename IMPLEMENTATION >
TObject* Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::representation ( ) const
inlineoverridevirtual

ROOT object implementation.

Implements Gaudi::HistogramBase.

Definition at line 58 of file Generic3D.h.

58 { return m_rep.get(); }

◆ rIndexX()

template<typename INTERFACE , typename IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::rIndexX ( int  index) const
inline

Definition at line 92 of file Generic3D.h.

92 { return m_xAxis.rIndex( index ); }

◆ rIndexY()

template<typename INTERFACE , typename IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::rIndexY ( int  index) const
inline

Definition at line 93 of file Generic3D.h.

93 { return m_yAxis.rIndex( index ); }

◆ rIndexZ()

template<typename INTERFACE , typename IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::rIndexZ ( int  index) const
inline

Definition at line 94 of file Generic3D.h.

94 { return m_zAxis.rIndex( index ); }

◆ rmsX()

template<typename INTERFACE , typename IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::rmsX ( ) const
inlineoverride

The RMS of the IHistogram3D along the x axis.

Definition at line 175 of file Generic3D.h.

175 { return m_rep->GetRMS( 1 ); }

◆ rmsY()

template<typename INTERFACE , typename IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::rmsY ( ) const
inlineoverride

The RMS of the IHistogram3D along the y axis.

Definition at line 177 of file Generic3D.h.

177 { return m_rep->GetRMS( 2 ); }

◆ rmsZ()

template<typename INTERFACE , typename IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::rmsZ ( ) const
inlineoverride

The RMS of the IHistogram3D along the z axis.

Definition at line 179 of file Generic3D.h.

179 { return m_rep->GetRMS( 3 ); }

◆ scale()

template<class INTERFACE , class IMPLEMENTATION >
bool Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::scale ( double  scaleFactor)
override

Scale the weights and the errors of all the IHistogram's bins (in-range and out-of-range ones) by a given scale factor.

Definition at line 290 of file Generic3D.h.

290  {
291  m_rep->Scale( scaleFactor );
292  return true;
293  }

◆ setName()

template<class INTERFACE , class IMPLEMENTATION >
bool Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::setName ( const std::string newName)

Sets the name of the object.

Definition at line 246 of file Generic3D.h.

246  {
247  m_rep->SetName( newName.c_str() );
248  m_annotation.setValue( "Name", newName );
249  return true;
250  }

◆ setTitle()

template<class INTERFACE , class IMPLEMENTATION >
bool Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::setTitle ( const std::string title)
override

Set the title of the object.

Definition at line 238 of file Generic3D.h.

238  {
239  m_rep->SetTitle( title.c_str() );
240  if ( !annotation().addItem( "Title", title ) ) m_annotation.setValue( "Title", title );
241  if ( !annotation().addItem( "title", title ) ) annotation().setValue( "title", title );
242  return true;
243  }

◆ sumAllBinHeights()

template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::sumAllBinHeights
override

Get the sum of all the bins heights (including underflow and overflow bin).

Definition at line 277 of file Generic3D.h.

277  {
278  return m_rep->GetSum();
279  }

◆ sumBinHeights()

template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::sumBinHeights
override

Get the sum of in range bin heights in the IProfile.

Definition at line 272 of file Generic3D.h.

272  {
273  return m_rep->GetSumOfWeights();
274  }

◆ sumExtraBinHeights()

template<typename INTERFACE , typename IMPLEMENTATION >
double Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::sumExtraBinHeights ( ) const
inlineoverride

Get the sum of the underflow and overflow bin height.

Definition at line 86 of file Generic3D.h.

86 { return sumAllBinHeights() - sumBinHeights(); }

◆ title()

template<typename INTERFACE , typename IMPLEMENTATION >
std::string Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::title ( ) const
inlineoverride

Get the title of the object.

Definition at line 65 of file Generic3D.h.

65 { return m_annotation.value( "Title" ); }

◆ write() [1/2]

template<class INTERFACE , class IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::write ( const char *  file_name) const
overridevirtual

Write (ASCII) the histogram table into a file.

Implements Gaudi::HistogramBase.

Definition at line 318 of file Generic3D.h.

318  {
319  TFile* f = TFile::Open( file_name, "RECREATE" );
320  Int_t nbytes = m_rep->Write();
321  f->Close();
322  return nbytes;
323  }

◆ write() [2/2]

template<class INTERFACE , class IMPLEMENTATION >
std::ostream & Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::write ( std::ostream s) const
overridevirtual

Write (ASCII) the histogram table into the output stream.

Implements Gaudi::HistogramBase.

Definition at line 304 of file Generic3D.h.

304  {
305  s << "\n3D Histogram Table: " << std::endl;
306  s << "BinX, BinY, BinZ, Height, Error " << std::endl;
307  for ( int i = 0; i < xAxis().bins(); ++i )
308  for ( int j = 0; j < yAxis().bins(); ++j )
309  for ( int k = 0; k < zAxis().bins(); ++k )
310  s << binMeanX( i, j, k ) << ", " << binMeanY( i, j, k ) << ", " << binMeanZ( i, j, k ) << ", "
311  << binHeight( i, j, k ) << ", " << binError( i, j, k ) << std::endl;
312  s << std::endl;
313  return s;
314  }

◆ xAxis()

template<typename INTERFACE , typename IMPLEMENTATION >
const AIDA::IAxis& Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::xAxis ( ) const
inlineoverride

Get the x axis of the IHistogram3D.

Definition at line 181 of file Generic3D.h.

181 { return m_xAxis; }

◆ yAxis()

template<typename INTERFACE , typename IMPLEMENTATION >
const AIDA::IAxis& Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::yAxis ( ) const
inlineoverride

Get the y axis of the IHistogram3D.

Definition at line 183 of file Generic3D.h.

183 { return m_yAxis; }

◆ zAxis()

template<typename INTERFACE , typename IMPLEMENTATION >
const AIDA::IAxis& Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::zAxis ( ) const
inlineoverride

Get the z axis of the IHistogram3D.

Definition at line 185 of file Generic3D.h.

185 { return m_zAxis; }

Member Data Documentation

◆ m_annotation

template<typename INTERFACE , typename IMPLEMENTATION >
AIDA::Annotation Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::m_annotation
mutableprotected

Object annotations.

Definition at line 228 of file Generic3D.h.

◆ m_classType

template<typename INTERFACE , typename IMPLEMENTATION >
std::string Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::m_classType
protected

Definition at line 232 of file Generic3D.h.

◆ m_rep

template<typename INTERFACE , typename IMPLEMENTATION >
std::unique_ptr<IMPLEMENTATION> Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::m_rep
protected

Reference to underlying implementation.

Definition at line 230 of file Generic3D.h.

◆ m_sumEntries

template<typename INTERFACE , typename IMPLEMENTATION >
int Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::m_sumEntries = 0
protected

Definition at line 234 of file Generic3D.h.

◆ m_xAxis

template<typename INTERFACE , typename IMPLEMENTATION >
Gaudi::Axis Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::m_xAxis
protected

Definition at line 224 of file Generic3D.h.

◆ m_yAxis

template<typename INTERFACE , typename IMPLEMENTATION >
Gaudi::Axis Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::m_yAxis
protected

Definition at line 225 of file Generic3D.h.

◆ m_zAxis

template<typename INTERFACE , typename IMPLEMENTATION >
Gaudi::Axis Gaudi::Generic3D< INTERFACE, IMPLEMENTATION >::m_zAxis
protected

Definition at line 226 of file Generic3D.h.


The documentation for this class was generated from the following file:
Gaudi::Generic3D::annotation
AIDA::IAnnotation & annotation() override
Access annotation object.
Definition: Generic3D.h:73
Gaudi::Generic3D::m_rep
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic3D.h:230
Gaudi::Generic3D::binHeight
double binHeight(int indexX, int indexY, int indexZ) const
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic3D.h:138
Gaudi::Generic3D::m_zAxis
Gaudi::Axis m_zAxis
Definition: Generic3D.h:226
Gaudi::Generic3D::sumAllBinHeights
double sumAllBinHeights() const override
Get the sum of all the bins heights (including underflow and overflow bin).
Definition: Generic3D.h:277
gaudirun.s
string s
Definition: gaudirun.py:346
Gaudi::Generic3D::m_xAxis
Gaudi::Axis m_xAxis
Definition: Generic3D.h:224
std::unique_ptr::get
T get(T... args)
Gaudi::Generic3D::m_yAxis
Gaudi::Axis m_yAxis
Definition: Generic3D.h:225
Gaudi::Generic3D::zAxis
const AIDA::IAxis & zAxis() const override
Get the z axis of the IHistogram3D.
Definition: Generic3D.h:185
std::unique_ptr::reset
T reset(T... args)
Gaudi::Generic3D::Base
Generic3D< INTERFACE, IMPLEMENTATION > Base
Definition: Generic3D.h:48
Gaudi::Generic3D::rIndexX
int rIndexX(int index) const
Definition: Generic3D.h:92
ProduceConsume.j
j
Definition: ProduceConsume.py:104
Gaudi::Generic3D::xAxis
const AIDA::IAxis & xAxis() const override
Get the x axis of the IHistogram3D.
Definition: Generic3D.h:181
std::string::c_str
T c_str(T... args)
Gaudi::Axis::initialize
void initialize(TAxis *itaxi, bool)
Definition: Axis.h:63
Gaudi::Generic3D::yAxis
const AIDA::IAxis & yAxis() const override
Get the y axis of the IHistogram3D.
Definition: Generic3D.h:183
AIDA::Annotation::value
std::string value(const std::string &key) const override
Retrieve the value for a given key.
Definition: Annotation.h:108
Gaudi::Generic3D::rIndexY
int rIndexY(int index) const
Definition: Generic3D.h:93
std::runtime_error
STL class.
Gaudi::Generic3D::sumBinHeights
double sumBinHeights() const override
Get the sum of in range bin heights in the IProfile.
Definition: Generic3D.h:272
cpluginsvc.n
n
Definition: cpluginsvc.py:234
Gaudi::Generic3D::binEntries
int binEntries(int indexX, int indexY, int indexZ) const override
Number of entries in the corresponding bin (ie the number of times fill was calle d for this bin).
Definition: Generic3D.h:109
std::endl
T endl(T... args)
Gaudi::Generic3D::rIndexZ
int rIndexZ(int index) const
Definition: Generic3D.h:94
Gaudi::Generic3D::setTitle
bool setTitle(const std::string &title) override
Set the title of the object.
Definition: Generic3D.h:238
Gaudi::Generic3D::m_annotation
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic3D.h:228
Gaudi::Generic3D::binMeanX
double binMeanX(int indexX, int, int) const override
The weighted mean along the x axis of a given bin.
Definition: Generic3D.h:97
Gaudi::Generic3D::binMeanY
double binMeanY(int, int indexY, int) const override
The weighted mean along the y axis of a given bin.
Definition: Generic3D.h:101
Gaudi::Generic3D::binError
double binError(int indexX, int indexY, int indexZ) const override
The error of a given bin.
Definition: Generic3D.h:164
Gaudi::Generic3D::title
std::string title() const override
Get the title of the object.
Definition: Generic3D.h:65
AIDA::Annotation::setValue
void setValue(const std::string &key, const std::string &value) override
Set value for a given key.
Definition: Annotation.h:113
Gaudi::ParticleProperties::index
size_t index(const Gaudi::ParticleProperty *property, const Gaudi::Interfaces::IParticlePropertySvc *service)
helper utility for mapping of Gaudi::ParticleProperty object into non-negative integral sequential id...
Definition: IParticlePropertySvc.cpp:39
Gaudi::Axis::rIndex
int rIndex(int index) const
Convert a AIDA bin number on the axis to the ROOT bin number.
Definition: Axis.h:49
Gaudi::Generic3D::binMeanZ
double binMeanZ(int, int, int indexZ) const override
The weighted mean along the z axis of a given bin.
Definition: Generic3D.h:105