Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

SFH1F Class Reference

#include <SFH1F.h>

Inheritance diagram for SFH1F:

Inheritance graph
[legend]
Collaboration diagram for SFH1F:

Collaboration graph
[legend]
List of all members.

Detailed Description

A self-filling 1-dimensional TH1F histogram.

A self-filling SFH1F object is a TH1F that registers itself in a ROList histogram list when it is created. It has a Fill() method that fills one or several entries into the histogram. It uses FloatFun and BaseCut objects to know what to fill, and possibly FillIterator objects in the case that several entries are to be made in one Fill() call.

Author: Benno List, Jenny Böhme

Date
2005/06/07 17:03:24
Author
blist

Changelog:

Definition at line 47 of file SFH1F.h.

Public Member Functions

 SFH1F (const char *name, const char *title, Int_t nbinsx, Axis_t xlow, Axis_t xup, const ROListPoR &hhl, const FloatFunPoR &xfun_, const BaseCutPoR &cut_=0, const FloatFunPoR &wfun_=0, const FillIteratorPoR &iter_=0)
 Constructor with equidistant binning.

 SFH1F (const char *name, const char *title, Int_t nbinsx, const Float_t *xbins, const ROListPoR &hhl, const FloatFunPoR &xfun_, const BaseCutPoR &cut_=0, const FloatFunPoR &wfun_=0, const FillIteratorPoR iter_=0)
 Constructor with non-equidistant binning, taking float bin edges.

 SFH1F (const char *name, const char *title, Int_t nbinsx, const Double_t *xbins, const ROListPoR &hhl, const FloatFunPoR &xfun_, const BaseCutPoR &cut_=0, const FloatFunPoR &wfun_=0, FillIteratorPoR iter_=0)
 Constructor with non-equidistant binning, taking double bin edges.

 SFH1F (const char *name, const char *title, const Binning &binning, const ROListPoR &hhl, const FloatFunPoR &xfun_, const BaseCutPoR &cut_=0, const FloatFunPoR &wfun_=0, FillIteratorPoR iter_=0)
 Constructor taking a Binning object.

 SFH1F (const char *name, const char *title, const TH1F &source, const ROListPoR &hhl, const FloatFunPoR &xfun_, const BaseCutPoR &cut_=0, const FloatFunPoR &wfun_=0, FillIteratorPoR iter_=0)
 "steals" binning from a TH1F -> contents are IGNORED

virtual void Fill ()
 The Self-filler method.

FloatFungetXFun () const
 Returns a pointer to the abscissa function object.

BaseCutgetCut () const
 Returns a pointer to the cut function object.

FloatFungetWFun () const
 Returns a pointer to the weight function object.

FillIteratorgetIter () const
 Returns a pointer to the iterator object.


Protected Member Functions

void checkIterators (const char *name)
 Checks consistency of iterators.

template<class Fun1, class Fun2> void checkTwoIterators (const char *name, const char *fun1name, Fun1 *fun1, const char *fun2name, Fun2 *fun2)
 Checks consistency of iterators of two function objects.

template<class Fun> void checkOneIterator (const char *name, const char *funname, Fun *fun)
 Function object.


Protected Attributes

FloatFunxfun
 Function object defining abscissa (what to plot).

BaseCutcut
 optional Function object defining a cut (0 means: no cut)

FloatFunwfun
 optional Function object defining weight (0 means: weight 1)

FillIteratoriter
 optional Iterator object for more than 1 entry per Fill() call


Private Member Functions

 SFH1F (const SFH1F &source)
 Private copy constructor, left unimplemented: No copying!

SFH1Foperator= (const SFH1F &source)
 Private assignment operator, left unimplemented: No assignment!


Constructor & Destructor Documentation

SFH1F::SFH1F const char *  name,
const char *  title,
Int_t  nbinsx,
Axis_t  xlow,
Axis_t  xup,
const ROListPoR hhl,
const FloatFunPoR xfun_,
const BaseCutPoR cut_ = 0,
const FloatFunPoR wfun_ = 0,
const FillIteratorPoR iter_ = 0
 

Constructor with equidistant binning.

Parameters:
name  TH1F name
title  TH1F title
nbinsx  Number of bins (as for TH1F)
xlow  Lower edge (as for TH1F)
xup  Upper edge (as for TH1F)
hhl  ROList object where "this" will be registered
xfun_  Function object defining abscissa (what to plot)
cut_  optional Function object defining a cut (0 means: no cut)
wfun_  optional Function object defining weight (0 means: weight 1)
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 36 of file SFH1F.C.

References checkIterators().

SFH1F::SFH1F const char *  name,
const char *  title,
Int_t  nbinsx,
const Float_t *  xbins,
const ROListPoR hhl,
const FloatFunPoR xfun_,
const BaseCutPoR cut_ = 0,
const FloatFunPoR wfun_ = 0,
const FillIteratorPoR  iter_ = 0
 

Constructor with non-equidistant binning, taking float bin edges.

Parameters:
name  TH1F name
title  TH1F title
nbinsx  Number of bins (as for TH1F)
xbins  Bin edges (as for TH1F)
hhl  ROList object where "this" will be registered
xfun_  Function object defining abscissa (what to plot)
cut_  optional Function object defining a cut (0 means: no cut)
wfun_  optional Function object defining weight (0 means: weight 1)
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 51 of file SFH1F.C.

References checkIterators().

SFH1F::SFH1F const char *  name,
const char *  title,
Int_t  nbinsx,
const Double_t *  xbins,
const ROListPoR hhl,
const FloatFunPoR xfun_,
const BaseCutPoR cut_ = 0,
const FloatFunPoR wfun_ = 0,
FillIteratorPoR  iter_ = 0
 

Constructor with non-equidistant binning, taking double bin edges.

Parameters:
name  TH1F name
title  TH1F title
nbinsx  Number of bins (as for TH1F)
xbins  Bin edges (as for TH1F)
hhl  ROList object where "this" will be registered
xfun_  Function object defining abscissa (what to plot)
cut_  optional Function object defining a cut (0 means: no cut)
wfun_  optional Function object defining weight (0 means: weight 1)
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 65 of file SFH1F.C.

References checkIterators().

SFH1F::SFH1F const char *  name,
const char *  title,
const Binning &  binning,
const ROListPoR hhl,
const FloatFunPoR xfun_,
const BaseCutPoR cut_ = 0,
const FloatFunPoR wfun_ = 0,
FillIteratorPoR  iter_ = 0
 

Constructor taking a Binning object.

Parameters:
name  TH1F name
title  TH1F title
binning  Defines the histogram binning
hhl  ROList object where "this" will be registered
xfun_  Function object defining abscissa (what to plot)
cut_  optional Function object defining a cut (0 means: no cut)
wfun_  optional Function object defining weight (0 means: weight 1)
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 79 of file SFH1F.C.

References checkIterators().

SFH1F::SFH1F const char *  name,
const char *  title,
const TH1F &  source,
const ROListPoR hhl,
const FloatFunPoR xfun_,
const BaseCutPoR cut_ = 0,
const FloatFunPoR wfun_ = 0,
FillIteratorPoR  iter_ = 0
 

"steals" binning from a TH1F -> contents are IGNORED

Parameters:
name  New TH1F name
title  New TH1F title
source  Histogram to be copied
hhl  ROList object where "this" will be registered
xfun_  Function object defining abscissa (what to plot)
cut_  optional Function object defining a cut (0 means: no cut)
wfun_  optional Function object defining weight (0 means: weight 1)
iter_  optional Iterator object for more than 1 entry per Fill() call

Definition at line 94 of file SFH1F.C.


Member Function Documentation

void SFH1F::Fill  )  [virtual]
 

The Self-filler method.

Fill() evaluates the cut object to see whether an event fulfills the cut defined by the cut object, then evaluates the xfun object to get the abscissa and the wfun object to obtain the weight. Optionally, the iter object serves as iterator.

Implements SFO.

Definition at line 113 of file SFH1F.C.

References cut, iter, FillIterator::next(), FillIterator::reset(), wfun, and xfun.

void SFH1F::checkIterators const char *  name  )  [protected]
 

Checks consistency of iterators.

Parameters:
name  The histogram name

Definition at line 173 of file SFH1F.C.

References checkOneIterator(), checkTwoIterators(), cut, wfun, and xfun.

Referenced by SFH1F().

template<class Fun1, class Fun2>
void SFH1F::checkTwoIterators const char *  name,
const char *  fun1name,
Fun1 *  fun1,
const char *  fun2name,
Fun2 *  fun2
[protected]
 

Checks consistency of iterators of two function objects.

Function object 2

Parameters:
name  The histogram name
fun1name  Name of function object 1
fun1  Function object 1
fun2name  Name of function object 2

Definition at line 126 of file SFH1F.C.

Referenced by checkIterators().

template<class Fun>
void SFH1F::checkOneIterator const char *  name,
const char *  funname,
Fun *  fun
[protected]
 

Function object.

Parameters:
name  The histogram name
funname  Name of function object

Definition at line 143 of file SFH1F.C.

References NamedO::getName(), and iter.

Referenced by checkIterators().


The documentation for this class was generated from the following files:
Generated on Thu Oct 26 12:55:11 2006 for SFH by doxygen 1.3.2