00001
00009 #ifndef ClassStMultiH1F
00010 #define ClassStMultiH1F
00011
00012 #include "TH2.h"
00013 class TString;
00014
00015 class StMultiH1F : public TH2F {
00016 public:
00017 StMultiH1F();
00018 StMultiH1F(const char *name,const char *title,Int_t nbinsx,Axis_t xlow,
00019 Axis_t xup,Int_t nbinsy);
00020 StMultiH1F(const char *name,const char *title,Int_t nbinsx,Double_t *xbins,
00021 Int_t nbinsy);
00022 virtual ~StMultiH1F() {}
00023 virtual void Draw(Option_t *option="");
00024 virtual void SetNames(Int_t ybin, const char* name)
00025 { names[ybin] = name; }
00026 virtual void SetNames(Float_t ybin, const char* name)
00027 { SetNames((Int_t) ybin, name); }
00028 virtual const char* GetNames(Int_t ybin) const
00029 { return names[ybin].Data(); }
00030 virtual const char* GetNames(Float_t ybin) const
00031 { return GetNames((Int_t) ybin); }
00032
00033 virtual TH1* Rebin(Int_t ngroup, const char* newname)
00034 { SetNames(ngroup, newname); return 0; }
00035 virtual TH1* Rebin(Int_t ngroup, const char* newname, const Double_t* xbins)
00036 { SetNames(ngroup, newname); return 0; }
00037
00038 virtual void SetBarOffset(Float_t offset);
00039 virtual Double_t GetNonZeroMinimum() const;
00040 virtual Double_t GetNonZeroMaximum() const;
00041 virtual void SavePrimitive(ostream& out, Option_t* option = "");
00042 protected:
00043 TString names[10];
00044 Float_t fMOffset;
00045 virtual TH1F* XProjection(const char* name, Int_t ybin=-1);
00046 ClassDef(StMultiH1F,1)
00047 };
00048
00049 #endif
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074