00001
00008 #ifndef __MATRIXOFHISTOGRAMS_H
00009 #define __MATRIXOFHISTOGRAMS_H
00010
00011 #include "jbltools/sfh/MatrixOfH.h"
00012
00013 #include "jbltools/sfh/BinningFunPoR.h"
00014 #include "jbltools/sfh/Binning.h"
00015
00016 #include <cassert>
00017
00018 class TFile;
00019 class TH1F;
00020 class TAxis;
00021 class BinningFun;
00022 class RegH1F;
00023 class SetOfHistograms;
00024
00025
00026
00028
00063 class MatrixOfHistograms: public MatrixOfH {
00064 public:
00066 MatrixOfHistograms (const char* name_,
00067 const char* title_,
00068 const ROListPoR& rol,
00069 const BinningFunPoR& binning1_,
00070 const BinningFunPoR& binning2_
00071 );
00073 MatrixOfHistograms (const char* name_,
00074 const char* title_,
00075 Int_t nbinsx,
00076 Axis_t xlow,
00077 Axis_t xup,
00078 const ROListPoR& rol,
00079 const BinningFunPoR& binning1_,
00080 const BinningFunPoR& binning2_
00081 );
00083 MatrixOfHistograms (const char* name_,
00084 const char* title_,
00085 Int_t nbinsx,
00086 const Double_t *xbins,
00087 const ROListPoR& rol,
00088 const BinningFunPoR& binning1_,
00089 const BinningFunPoR& binning2_
00090 );
00092 MatrixOfHistograms (const char* name_,
00093 const char* title_,
00094 Int_t nbinsx,
00095 const Float_t *xbins,
00096 const ROListPoR& rol,
00097 const BinningFunPoR& binning1_,
00098 const BinningFunPoR& binning2_
00099 );
00101 MatrixOfHistograms (const char* name_,
00102 const char* title_,
00103 const Binning& axisbinning_,
00104 const ROListPoR& rol,
00105 const BinningFunPoR& binning1_,
00106 const BinningFunPoR& binning2_
00107 );
00109 MatrixOfHistograms (const char* name_,
00110 const char* title_,
00111 TFile& file,
00112 const ROListPoR& rol,
00113 const BinningFunPoR& binning1_,
00114 const BinningFunPoR& binning2_
00115 );
00117 virtual ~MatrixOfHistograms ();
00118
00120
00124 RegH1F *getSummary(Option_t* option,
00125
00131 const ROListPoR& rol
00132 );
00133
00135
00140 SetOfHistograms *getSummarySet(const char *name,
00141 const char *title,
00142 int idim,
00143 Option_t* option,
00144
00150 const ROListPoR& rol,
00151 const Float_t *xbinmargins = 0
00152 );
00153
00155 virtual SetOfHistograms* getSet (const char* name,
00156 const char* title,
00157 int idim,
00158 const ROListPoR& rol,
00159 int lowbin = 0,
00160 int highbin = 0
00161 );
00162
00165 RegH1F *getHisto (IndexType i,
00166 IndexType j
00167 );
00168
00170 virtual void initHisto (IndexType i,
00171 IndexType j
00172 );
00173
00174 private:
00175
00176 Binning axisbinning;
00177
00179 MatrixOfHistograms (const MatrixOfHistograms& source);
00181 MatrixOfHistograms& operator= (const MatrixOfHistograms& source
00182 );
00183 };
00184
00185
00186
00187 #endif