00001
00009 #ifndef ClassStMultiH2F
00010 #define ClassStMultiH2F
00011
00012 #include "TH3.h"
00013 #include "TH2.h"
00014
00015 class StMultiH2F : public TH3F {
00016 public:
00017 StMultiH2F();
00018 StMultiH2F(const char *name,const char *title,Int_t nbinsx,Axis_t xlow,
00019 Axis_t xup,Int_t nbinsy,Axis_t ylow,Axis_t yup,Int_t nbinsz);
00020 virtual ~StMultiH2F() {}
00021 virtual void Draw(Option_t *option="");
00022
00023
00024 virtual void SetNames(Int_t zbin, const char* name)
00025 { names[zbin] = name; }
00026 virtual void SetNames(Float_t zbin, const char* name)
00027 { SetNames((Int_t) zbin, name); }
00028 virtual const char* GetNames(Int_t zbin) const
00029 { return names[zbin].Data(); }
00030 virtual const char* GetNames(Float_t zbin) const
00031 { return GetNames((Int_t) zbin); }
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 virtual void SavePrimitive(ostream& out, Option_t* option = "");
00038 protected:
00039 TString names[10];
00040 virtual TH2D* XYProjection(const char* name, Int_t zbin=-1);
00041 ClassDef(StMultiH2F,1)
00042 };
00043
00044 #endif
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054