00001
00011 #ifndef __REGH1F_H
00012 #define __REGH1F_H
00013
00014 #include "jbltools/sfh/RegO.h"
00015
00016 #include <TH1.h>
00017
00018 class TFile;
00019 class Binning;
00020
00021
00023
00036 class RegH1F : public TH1F, public RegO {
00037 public:
00039 RegH1F (const char* name,
00040 const char* title,
00041 Int_t nbinsx,
00042 Axis_t xlow,
00043 Axis_t xup,
00044 const ROListPoR& hhl = 0
00045 );
00047 RegH1F (const char* name,
00048 const char* title,
00049 Int_t nbinsx,
00050 const Float_t* xbins,
00051 const ROListPoR& hhl = 0
00052 );
00054 RegH1F (const char* name,
00055 const char* title,
00056 Int_t nbinsx,
00057 const Double_t* xbins,
00058 const ROListPoR& hhl = 0
00059 );
00061 RegH1F (const char* name,
00062 const char* title,
00063 const Binning& binning,
00064 const ROListPoR& hhl = 0
00065 );
00067 RegH1F (const char* name,
00068 TFile& file,
00069 const ROListPoR& hhl
00070 );
00072 RegH1F (const char* name,
00073 const char* title,
00074 const TH1F& source,
00075 const ROListPoR& hhl = 0
00076 );
00078 virtual ~RegH1F ();
00079
00081 virtual Stat_t GetSumOfErrors2() const;
00082
00084 void getHistInfo (Option_t* option,
00085 Stat_t& content,
00086 Stat_t& error2
00087 ) const;
00088
00090 virtual void Divide (TF1* f1,
00091 Double_t c1 = 1
00092 );
00094 virtual void Divide (const TH1* h1
00095 );
00097 virtual void Divide (const TH1* h1,
00098 const TH1* h2,
00099 Double_t c1 = 1,
00100 Double_t c2 = 1,
00101 Option_t* option = 0
00102 );
00104
00110 virtual void Divide (const TH1* h1,
00111 const TH1* h2,
00112 const TH1* h3,
00113 Double_t c1 = 1,
00114 Double_t c2 = 1
00115 );
00116
00118
00125 virtual void DrawFunc (Option_t* option,
00126 const char* fname
00127 );
00128
00129
00130 private:
00132 RegH1F (const RegH1F& source);
00134 RegH1F& operator= (const RegH1F& source);
00135 };
00136
00137 #endif