Logo ROOT   6.08/07
Reference Guide
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
TH1Merger Class Reference

Definition at line 7 of file TH1Merger.h.

Public Types

enum  EMergerType {
  kNotCompatible = -1, kAllSameAxes = 0, kAllNoLimits = 1, kHasNewLimits = 2,
  kAllLabel = 3
}
 

Public Member Functions

 TH1Merger (TH1 &h, TCollection &l)
 
 ~TH1Merger ()
 
Bool_t operator() ()
 Function performing the actual merge. More...
 

Static Public Member Functions

static Bool_t AxesHaveLimits (const TH1 *h)
 
static Int_t FindBinNumber (Int_t ibin, const TAxis &inAxis, TAxis &outAxis)
 
static Int_t FindFixBinNumber (Int_t ibin, const TAxis &inAxis, const TAxis &outAxis)
 

Private Member Functions

Bool_t BufferMerge ()
 
void DefineNewAxes ()
 Function to define new histogram axis when merging It is call only in case of merging with different axis or with the buffer (kHasNewLimits) More...
 
Bool_t DifferentAxesMerge ()
 Merged histogram when axis can be different. More...
 
EMergerType ExamineHistograms ()
 Examine the list of histograms to find out which type of Merge we need to do Pass the input list containing the histogram to merge and h0 which is the initial histogram on which all the histogram of the list will be merged This are the possible cases: More...
 
Bool_t LabelMerge ()
 Merge histograms with labels. More...
 
Bool_t SameAxesMerge ()
 

Private Attributes

TH1fH0
 
TH1fHClone
 histogram on which the list is merged More...
 
TList fInputList
 copy of fH0 - managed by this class More...
 
UInt_t fNewAxisFlag
 
TAxis fNewXAxis
 
TAxis fNewYAxis
 
TAxis fNewZAxis
 

#include </mnt/build/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/hist/hist/src/TH1Merger.h>

Member Enumeration Documentation

◆ EMergerType

Enumerator
kNotCompatible 
kAllSameAxes 
kAllNoLimits 
kHasNewLimits 
kAllLabel 

Definition at line 11 of file TH1Merger.h.

Constructor & Destructor Documentation

◆ TH1Merger()

TH1Merger::TH1Merger ( TH1 h,
TCollection l 
)
inline

Definition at line 39 of file TH1Merger.h.

◆ ~TH1Merger()

TH1Merger::~TH1Merger ( )
inline

Definition at line 47 of file TH1Merger.h.

Member Function Documentation

◆ AxesHaveLimits()

Bool_t TH1Merger::AxesHaveLimits ( const TH1 h)
static

Definition at line 14 of file TH1Merger.cxx.

◆ BufferMerge()

Bool_t TH1Merger::BufferMerge ( )
private

Definition at line 367 of file TH1Merger.cxx.

◆ DefineNewAxes()

void TH1Merger::DefineNewAxes ( )
private

Function to define new histogram axis when merging It is call only in case of merging with different axis or with the buffer (kHasNewLimits)

Definition at line 301 of file TH1Merger.cxx.

◆ DifferentAxesMerge()

Bool_t TH1Merger::DifferentAxesMerge ( )
private

Merged histogram when axis can be different.

Histograms are merged looking at bin center positions

Definition at line 466 of file TH1Merger.cxx.

◆ ExamineHistograms()

TH1Merger::EMergerType TH1Merger::ExamineHistograms ( )
private

Examine the list of histograms to find out which type of Merge we need to do Pass the input list containing the histogram to merge and h0 which is the initial histogram on which all the histogram of the list will be merged This are the possible cases:

  • 1. All histogram have the same axis (allSameLimits = true)
  • 2. Histogram have different axis but compatible (allSameLimits = false) and sameLimitsX,Y,Z specifies which axis has different limits
  • 3. Histogram do not have limits (so the Buffer is used) allHaveLimits = false
  • 3b. One histogram has limits the other not : allHaveLimits = false AND initialLimitsFound = true
  • 4. Histogram Have labels = allHaveLabels = true

Definition at line 69 of file TH1Merger.cxx.

◆ FindBinNumber()

static Int_t TH1Merger::FindBinNumber ( Int_t  ibin,
const TAxis inAxis,
TAxis outAxis 
)
inlinestatic

Definition at line 30 of file TH1Merger.h.

◆ FindFixBinNumber()

static Int_t TH1Merger::FindFixBinNumber ( Int_t  ibin,
const TAxis inAxis,
const TAxis outAxis 
)
inlinestatic

Definition at line 21 of file TH1Merger.h.

◆ LabelMerge()

Bool_t TH1Merger::LabelMerge ( )
private

Merge histograms with labels.

Definition at line 557 of file TH1Merger.cxx.

◆ operator()()

Bool_t TH1Merger::operator() ( )

Function performing the actual merge.

Definition at line 22 of file TH1Merger.cxx.

◆ SameAxesMerge()

Bool_t TH1Merger::SameAxesMerge ( )
private

Definition at line 413 of file TH1Merger.cxx.

Member Data Documentation

◆ fH0

TH1* TH1Merger::fH0
private

Definition at line 69 of file TH1Merger.h.

◆ fHClone

TH1* TH1Merger::fHClone
private

histogram on which the list is merged

Definition at line 70 of file TH1Merger.h.

◆ fInputList

TList TH1Merger::fInputList
private

copy of fH0 - managed by this class

Definition at line 71 of file TH1Merger.h.

◆ fNewAxisFlag

UInt_t TH1Merger::fNewAxisFlag
private

Definition at line 75 of file TH1Merger.h.

◆ fNewXAxis

TAxis TH1Merger::fNewXAxis
private

Definition at line 72 of file TH1Merger.h.

◆ fNewYAxis

TAxis TH1Merger::fNewYAxis
private

Definition at line 73 of file TH1Merger.h.

◆ fNewZAxis

TAxis TH1Merger::fNewZAxis
private

Definition at line 74 of file TH1Merger.h.


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