The Gaudi Framework  v29r0 (ff2e7097)
Gaudi::Generic1D< INTERFACE, IMPLEMENTATION > Class Template Reference

Common AIDA implementation stuff for histograms and profiles using ROOT implementations. More...

#include <GaudiPI/Generic1D.h>

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

Public Types

typedef Generic1D< INTERFACE, IMPLEMENTATION > Base
 

Public Member Functions

 Generic1D ()=default
 Default constructor. More...
 
 ~Generic1D () override=default
 Default destructor. More...
 
virtual const std::stringuserLevelClassType () const
 The AIDA user-level unterface leaf class type. More...
 
void * cast (const std::string &cl) const override
 Manual cast by class name. More...
 
TObject * representation () const override
 ROOT object implementation. More...
 
void adoptRepresentation (TObject *rep) override
 Adopt ROOT histogram representation. 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)
 Set 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...
 
Axisaxis ()
 Access to axis object. More...
 
const Axisaxis () const override
 Get the x axis of the IHistogram1D. 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...
 
int extraEntries () const override
 Get the number of entries in the underflow and overflow bins. More...
 
int binEntries (int index) const override
 Number of entries in the corresponding bin (ie the number of times fill was called for this bin). More...
 
virtual double binRms (int index) const
 
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...
 
virtual double equivalentBinEntries () const
 Number of equivalent entries, i.e. SUM[ weight ] ^ 2 / SUM[ weight^2 ] More...
 
virtual bool scale (double scaleFactor)
 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 reset () override
 Reset the Histogram; as if just created. More...
 
bool add (const INTERFACE &profile) override
 Modifies this IProfile1D by adding the contents of profile to it. More...
 
virtual int rIndex (int index) const
 operator methods More...
 
double binMean (int index) const override
 The weighted mean of a bin. More...
 
double binHeight (int index) const override
 Total height of the corresponding bin (ie the sum of the weights in this bin). More...
 
double binError (int index) const override
 The error of a given bin. More...
 
double mean () const override
 The mean of the whole IHistogram1D. More...
 
double rms () const override
 The RMS of the whole IHistogram1D. More...
 
int coordToIndex (double coord) const override
 Get the bin number corresponding to a given coordinate along the x axis. More...
 
int dimension () const override
 Get the Histogram's dimension. More...
 
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...
 
template<>
void * cast (const std::string &className) const
 
template<>
int binEntries (int index) const
 
template<>
void adoptRepresentation (TObject *rep)
 Adopt ROOT histogram representation. More...
 
template<>
int binEntries (int index) const
 
template<>
void * cast (const std::string &className) const
 
template<>
void adoptRepresentation (TObject *rep)
 Adopt ROOT histogram representation. More...
 
- Public Member Functions inherited from Gaudi::HistogramBase
virtual ~HistogramBase ()=default
 

Protected Member Functions

 Generic1D (IMPLEMENTATION *p)
 constructor More...
 

Protected Attributes

Axis m_axis
 Axis member. More...
 
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
 

Detailed Description

template<class INTERFACE, class IMPLEMENTATION>
class Gaudi::Generic1D< 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 36 of file Generic1D.h.

Member Typedef Documentation

template<class INTERFACE, class IMPLEMENTATION>
typedef Generic1D<INTERFACE, IMPLEMENTATION> Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::Base

Definition at line 39 of file Generic1D.h.

Constructor & Destructor Documentation

template<class INTERFACE, class IMPLEMENTATION>
Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::Generic1D ( )
default

Default constructor.

template<class INTERFACE, class IMPLEMENTATION>
Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::Generic1D ( IMPLEMENTATION *  p)
inlineprotected

constructor

Definition at line 45 of file Generic1D.h.

45 : m_rep( p ) {}
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
template<class INTERFACE, class IMPLEMENTATION>
Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::~Generic1D ( )
overridedefault

Default destructor.

Member Function Documentation

template<class INTERFACE, class IMPLEMENTATION >
bool Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::add ( const INTERFACE &  profile)
override

Modifies this IProfile1D by adding the contents of profile to it.

Definition at line 212 of file Generic1D.h.

213  {
214  const Generic1D<INTERFACE, IMPLEMENTATION>* p = dynamic_cast<const Generic1D<INTERFACE, IMPLEMENTATION>*>( &h );
215  if ( p ) {
216  m_rep->Add( p->m_rep.get() );
217  return true;
218  }
219  throw std::runtime_error( "Cannot add profile histograms of different implementations." );
220  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
template<>
void Gaudi::Generic1D< AIDA::IHistogram1D, TH1D >::adoptRepresentation ( TObject *  rep)
virtual

Adopt ROOT histogram representation.

Implements Gaudi::HistogramBase.

Definition at line 57 of file H1D.cpp.

58  {
59  TH1D* imp = dynamic_cast<TH1D*>( rep );
60  if ( !imp ) throw std::runtime_error( "Cannot adopt native histogram representation." );
61  m_rep.reset( imp );
62  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
T reset(T...args)
template<class INTERFACE, class IMPLEMENTATION>
void Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::adoptRepresentation ( TObject *  rep)
overridevirtual

Adopt ROOT histogram representation.

Implements Gaudi::HistogramBase.

Reimplemented in Gaudi::Histogram1D.

template<>
void Gaudi::Generic1D< AIDA::IProfile1D, TProfile >::adoptRepresentation ( TObject *  rep)
virtual

Adopt ROOT histogram representation.

Implements Gaudi::HistogramBase.

Definition at line 64 of file P1D.cpp.

65  {
66  TProfile* imp = dynamic_cast<TProfile*>( rep );
67  if ( !imp ) throw std::runtime_error( "Cannot adopt native histogram representation." );
68  m_rep.reset( imp );
69  m_axis.initialize( m_rep->GetXaxis(), true );
70  const TArrayD* a = m_rep->GetSumw2();
71  if ( !a || ( a && a->GetSize() == 0 ) ) m_rep->Sumw2();
72  setTitle( m_rep->GetTitle() );
73  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
bool setTitle(const std::string &title) override
Set the title of the object.
Definition: Generic1D.h:142
Axis m_axis
Axis member.
Definition: Generic1D.h:130
T reset(T...args)
void initialize(TAxis *itaxi, bool)
Definition: Axis.h:67
template<class INTERFACE, class IMPLEMENTATION>
int Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::allEntries ( ) const
inlineoverride

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

Definition at line 78 of file Generic1D.h.

78 { return m_rep->GetEntries(); }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
template<class INTERFACE, class IMPLEMENTATION>
AIDA::IAnnotation& Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::annotation ( )
inlineoverride

Access annotation object.

Definition at line 67 of file Generic1D.h.

67 { return m_annotation; }
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic1D.h:132
template<class INTERFACE, class IMPLEMENTATION>
const AIDA::IAnnotation& Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::annotation ( ) const
inlineoverride

Access annotation object (cons)

Definition at line 69 of file Generic1D.h.

69 { return m_annotation; }
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic1D.h:132
template<class INTERFACE, class IMPLEMENTATION>
Axis& Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::axis ( )
inline

Access to axis object.

Definition at line 71 of file Generic1D.h.

71 { return m_axis; }
Axis m_axis
Axis member.
Definition: Generic1D.h:130
template<class INTERFACE, class IMPLEMENTATION>
const Axis& Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::axis ( ) const
inlineoverride

Get the x axis of the IHistogram1D.

Definition at line 73 of file Generic1D.h.

73 { return m_axis; }
Axis m_axis
Axis member.
Definition: Generic1D.h:130
template<>
int Gaudi::Generic1D< AIDA::IProfile1D, TProfile >::binEntries ( int  index) const

Definition at line 46 of file P1D.cpp.

47  {
48  return int( m_rep->GetBinEntries( rIndex( index ) ) + 0.5 );
49  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
virtual int rIndex(int index) const
operator methods
Definition: Generic1D.h:106
template<>
int Gaudi::Generic1D< AIDA::IHistogram1D, TH1D >::binEntries ( int  index) const

Definition at line 49 of file H1D.cpp.

50  {
51  if ( binHeight( index ) <= 0 ) return 0;
52  double xx = binHeight( index ) / binError( index );
53  return int( xx * xx + 0.5 );
54  }
double binHeight(int index) const override
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic1D.h:171
double binError(int index) const override
The error of a given bin.
Definition: Generic1D.h:177
template<class INTERFACE, class IMPLEMENTATION>
int Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::binEntries ( int  index) const
override

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

template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::binError ( int  index) const
override

The error of a given bin.

Definition at line 177 of file Generic1D.h.

178  {
179  return m_rep->GetBinError( rIndex( index ) );
180  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
virtual int rIndex(int index) const
operator methods
Definition: Generic1D.h:106
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::binHeight ( int  index) const
override

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

Definition at line 171 of file Generic1D.h.

172  {
173  return m_rep->GetBinContent( rIndex( index ) );
174  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
virtual int rIndex(int index) const
operator methods
Definition: Generic1D.h:106
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::binMean ( int  index) const
override

The weighted mean of a bin.

Definition at line 165 of file Generic1D.h.

166  {
167  return m_rep->GetBinCenter( rIndex( index ) );
168  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
virtual int rIndex(int index) const
operator methods
Definition: Generic1D.h:106
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::binRms ( int  index) const
virtual

Definition at line 159 of file Generic1D.h.

160  {
161  return m_rep->GetBinError( rIndex( index ) );
162  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
virtual int rIndex(int index) const
operator methods
Definition: Generic1D.h:106
template<>
void * Gaudi::Generic1D< AIDA::IHistogram1D, TH1D >::cast ( const std::string className) const

Definition at line 41 of file H1D.cpp.

42  {
43  if ( className == "AIDA::IHistogram1D" ) return const_cast<AIDA::IHistogram1D*>( (AIDA::IHistogram1D*)this );
44  if ( className == "AIDA::IHistogram" ) return const_cast<AIDA::IHistogram*>( (AIDA::IHistogram*)this );
45  return nullptr;
46  }
template<>
void * Gaudi::Generic1D< AIDA::IProfile1D, TProfile >::cast ( const std::string className) const

Definition at line 52 of file P1D.cpp.

53  {
54  if ( className == "AIDA::IProfile1D" )
55  return const_cast<AIDA::IProfile1D*>( (AIDA::IProfile1D*)this );
56  else if ( className == "AIDA::IProfile" )
57  return const_cast<AIDA::IProfile*>( (AIDA::IProfile*)this );
58  else if ( className == "AIDA::IBaseHistogram" )
59  return const_cast<AIDA::IBaseHistogram*>( (AIDA::IBaseHistogram*)this );
60  return nullptr;
61  }
template<class INTERFACE, class IMPLEMENTATION>
void* Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::cast ( const std::string cl) const
override

Manual cast by class name.

template<class INTERFACE, class IMPLEMENTATION>
int Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::coordToIndex ( double  coord) const
inlineoverride

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

Definition at line 118 of file Generic1D.h.

118 { return axis().coordToIndex( coord ); }
Axis & axis()
Access to axis object.
Definition: Generic1D.h:71
int coordToIndex(double coord) const override
Convert a coordinate on the axis to a bin number.
Definition: Axis.h:131
template<class INTERFACE, class IMPLEMENTATION>
int Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::dimension ( ) const
inlineoverride

Get the Histogram's dimension.

Definition at line 120 of file Generic1D.h.

120 { return 1; }
template<class INTERFACE, class IMPLEMENTATION>
int Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::entries ( ) const
inlineoverride

Get the number or all the entries.

Definition at line 76 of file Generic1D.h.

76 { return m_rep->GetEntries(); }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
template<class INTERFACE , class IMPLEMENTATION >
double Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::equivalentBinEntries ( ) const
virtual

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

Definition at line 196 of file Generic1D.h.

197  {
198  if ( sumBinHeights() <= 0 ) return 0;
199  Stat_t stats[11]; // cover up to 3D...
200  m_rep->GetStats( stats );
201  return stats[0] * stats[0] / stats[1];
202  }
double sumBinHeights() const override
Get the sum of in range bin heights in the IProfile.
Definition: Generic1D.h:86
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
template<class INTERFACE , class IMPLEMENTATION >
int Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::extraEntries ( ) const
override

Get the number of entries in the underflow and overflow bins.

Definition at line 183 of file Generic1D.h.

184  {
185  return binEntries( AIDA::IAxis::UNDERFLOW_BIN ) + binEntries( AIDA::IAxis::OVERFLOW_BIN );
186  }
int binEntries(int index) const override
Number of entries in the corresponding bin (ie the number of times fill was called for this bin)...
template<class INTERFACE, class IMPLEMENTATION>
double Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::maxBinHeight ( ) const
inlineoverride

Get the maximum height of the in-range bins.

Definition at line 94 of file Generic1D.h.

94 { return m_rep->GetMaximum(); }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
template<class INTERFACE, class IMPLEMENTATION>
double Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::mean ( ) const
inlineoverride

The mean of the whole IHistogram1D.

Definition at line 114 of file Generic1D.h.

114 { return m_rep->GetMean(); }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
template<class INTERFACE, class IMPLEMENTATION>
double Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::minBinHeight ( ) const
inlineoverride

Get the minimum height of the in-range bins.

Definition at line 92 of file Generic1D.h.

92 { return m_rep->GetMinimum(); }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
template<class INTERFACE, class IMPLEMENTATION>
std::string Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::name ( ) const
inline

object name

Definition at line 63 of file Generic1D.h.

63 { return m_annotation.value( "Name" ); }
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic1D.h:132
std::string value(const std::string &key) const override
Retrieve the value for a given key.
Definition: Annotation.h:102
template<class INTERFACE , class IMPLEMENTATION >
std::ostream & Gaudi::Generic1D< 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 223 of file Generic1D.h.

224  {
226  m_rep->Print( "all" );
227  return s;
228  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
string s
Definition: gaudirun.py:253
template<class INTERFACE, class IMPLEMENTATION>
TObject* Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::representation ( ) const
inlineoverridevirtual

ROOT object implementation.

Implements Gaudi::HistogramBase.

Definition at line 55 of file Generic1D.h.

55 { return m_rep.get(); }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
T get(T...args)
template<class INTERFACE , class IMPLEMENTATION >
bool Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::reset ( )
override

Reset the Histogram; as if just created.

Definition at line 188 of file Generic1D.h.

189  {
190  m_sumEntries = 0;
191  m_rep->Reset();
192  return true;
193  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
template<class INTERFACE, class IMPLEMENTATION>
virtual int Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::rIndex ( int  index) const
inlinevirtual

operator methods

Definition at line 106 of file Generic1D.h.

106 { return m_axis.rIndex( index ); }
Axis m_axis
Axis member.
Definition: Generic1D.h:130
int rIndex(int index) const
Convert a AIDA bin number on the axis to the ROOT bin number.
Definition: Axis.h:53
template<class INTERFACE, class IMPLEMENTATION>
double Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::rms ( ) const
inlineoverride

The RMS of the whole IHistogram1D.

Definition at line 116 of file Generic1D.h.

116 { return m_rep->GetRMS(); }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
template<class INTERFACE , class IMPLEMENTATION >
bool Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::scale ( double  scaleFactor)
virtual

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 205 of file Generic1D.h.

206  {
207  m_rep->Scale( scaleFactor );
208  return true;
209  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
template<class INTERFACE , class IMPLEMENTATION >
bool Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::setName ( const std::string newName)

Set the name of the object.

Definition at line 151 of file Generic1D.h.

152  {
153  m_rep->SetName( newName.c_str() );
154  m_annotation.setValue( "Name", newName );
155  return true;
156  }
void setValue(const std::string &key, const std::string &value) override
Set value for a given key.
Definition: Annotation.h:108
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic1D.h:132
T c_str(T...args)
template<class INTERFACE , class IMPLEMENTATION >
bool Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::setTitle ( const std::string title)
override

Set the title of the object.

Definition at line 142 of file Generic1D.h.

143  {
144  m_rep->SetTitle( title.c_str() );
145  if ( !annotation().addItem( "Title", title ) ) m_annotation.setValue( "Title", title );
146  if ( !annotation().addItem( "title", title ) ) annotation().setValue( "title", title );
147  return true;
148  }
void setValue(const std::string &key, const std::string &value) override
Set value for a given key.
Definition: Annotation.h:108
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic1D.h:132
T c_str(T...args)
AIDA::IAnnotation & annotation() override
Access annotation object.
Definition: Generic1D.h:67
template<class INTERFACE, class IMPLEMENTATION>
double Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::sumAllBinHeights ( ) const
inlineoverride

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

Definition at line 88 of file Generic1D.h.

88 { return m_rep->GetSum(); }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
template<class INTERFACE, class IMPLEMENTATION>
double Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::sumBinHeights ( ) const
inlineoverride

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

Definition at line 86 of file Generic1D.h.

86 { return m_rep->GetSumOfWeights(); }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134
template<class INTERFACE, class IMPLEMENTATION>
double Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::sumExtraBinHeights ( ) const
inlineoverride

Get the sum of the underflow and overflow bin height.

Definition at line 90 of file Generic1D.h.

90 { return sumAllBinHeights() - sumBinHeights(); }
double sumBinHeights() const override
Get the sum of in range bin heights in the IProfile.
Definition: Generic1D.h:86
double sumAllBinHeights() const override
Get the sum of all the bins heights (including underflow and overflow bin).
Definition: Generic1D.h:88
template<class INTERFACE, class IMPLEMENTATION>
std::string Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::title ( ) const
inlineoverride

Get the title of the object.

Definition at line 59 of file Generic1D.h.

59 { return m_annotation.value( "Title" ); }
AIDA::Annotation m_annotation
Object annotations.
Definition: Generic1D.h:132
std::string value(const std::string &key) const override
Retrieve the value for a given key.
Definition: Annotation.h:102
template<class INTERFACE, class IMPLEMENTATION>
virtual const std::string& Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::userLevelClassType ( ) const
inlinevirtual

The AIDA user-level unterface leaf class type.

Definition at line 51 of file Generic1D.h.

51 { return m_classType; }
std::string m_classType
Definition: Generic1D.h:136
template<class INTERFACE , class IMPLEMENTATION >
std::ostream & Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::write ( std::ostream s) const
overridevirtual

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

Implements Gaudi::HistogramBase.

Definition at line 232 of file Generic1D.h.

233  {
234  s << "\n1D Histogram Table: " << std::endl;
235  s << "Bin, Height, Error " << std::endl;
236  for ( int i = 0; i < axis().bins(); ++i )
237  s << binMean( i ) << ", " << binHeight( i ) << ", " << binError( i ) << std::endl;
238  s << std::endl;
239  return s;
240  }
T endl(T...args)
double binHeight(int index) const override
Total height of the corresponding bin (ie the sum of the weights in this bin).
Definition: Generic1D.h:171
double binError(int index) const override
The error of a given bin.
Definition: Generic1D.h:177
Axis & axis()
Access to axis object.
Definition: Generic1D.h:71
int bins() const override
The number of bins (excluding underflow and overflow) on the IAxis.
Definition: Axis.h:95
double binMean(int index) const override
The weighted mean of a bin.
Definition: Generic1D.h:165
string s
Definition: gaudirun.py:253
template<class INTERFACE , class IMPLEMENTATION >
int Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::write ( const char *  file_name) const
overridevirtual

Write (ASCII) the histogram table into a file.

Implements Gaudi::HistogramBase.

Definition at line 244 of file Generic1D.h.

245  {
246  TFile* f = TFile::Open( file_name, "RECREATE" );
247  Int_t nbytes = m_rep->Write();
248  f->Close();
249  return nbytes;
250  }
std::unique_ptr< IMPLEMENTATION > m_rep
Reference to underlying implementation.
Definition: Generic1D.h:134

Member Data Documentation

template<class INTERFACE, class IMPLEMENTATION>
AIDA::Annotation Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::m_annotation
mutableprotected

Object annotations.

Definition at line 132 of file Generic1D.h.

template<class INTERFACE, class IMPLEMENTATION>
Axis Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::m_axis
protected

Axis member.

Definition at line 130 of file Generic1D.h.

template<class INTERFACE, class IMPLEMENTATION>
std::string Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::m_classType
protected

Definition at line 136 of file Generic1D.h.

template<class INTERFACE, class IMPLEMENTATION>
std::unique_ptr<IMPLEMENTATION> Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::m_rep
protected

Reference to underlying implementation.

Definition at line 134 of file Generic1D.h.

template<class INTERFACE, class IMPLEMENTATION>
int Gaudi::Generic1D< INTERFACE, IMPLEMENTATION >::m_sumEntries
protected

Definition at line 138 of file Generic1D.h.


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