Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
THStack.h
Go to the documentation of this file.
1 // @(#)root/hist:$Id$
2 // Author: Rene Brun 10/12/2001
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2001, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_THStack
13 #define ROOT_THStack
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // THStack //
19 // //
20 // A collection of histograms //
21 // //
22 //////////////////////////////////////////////////////////////////////////
23 
24 #include "TH1.h"
25 #include "TObjArray.h"
26 
27 
28 class TBrowser;
29 class TFileMergeInfo;
30 
31 class THStack : public TNamed {
32 private:
33  THStack& operator=(const THStack&); // Not implemented
34 
35 protected:
36  TList *fHists; //Pointer to array of TH1
37  TObjArray *fStack; //!Pointer to array of sums of TH1
38  TH1 *fHistogram; //Pointer to histogram used for drawing axis
39  Double_t fMaximum; //Maximum value for plotting along y
40  Double_t fMinimum; //Minimum value for plotting along y
41 
42  void BuildStack();
43 
44 public:
45 
46  THStack();
47  THStack(const char *name, const char *title);
48  THStack(TH1* hist, Option_t *axis="x",
49  const char *name=0, const char *title=0,
50  Int_t firstbin=1, Int_t lastbin=-1,
51  Int_t firstbin2=1, Int_t lastbin2=-1,
52  Option_t* proj_option="", Option_t* draw_option="");
53  THStack(const THStack &hstack);
54  virtual ~THStack();
55  virtual void Add(TH1 *h, Option_t *option="");
56  virtual void Browse(TBrowser *b);
57  virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
58  virtual void Draw(Option_t *chopt="");
59  TH1 *GetHistogram() const;
60  TList *GetHists() const { return fHists; }
61  TIter begin() const;
62  TIter end() const { return TIter::End(); }
63  Int_t GetNhists() const;
64  TObjArray *GetStack();
65  virtual Double_t GetMaximum(Option_t *option="");
66  virtual Double_t GetMinimum(Option_t *option="");
67  TAxis *GetXaxis() const;
68  TAxis *GetYaxis() const;
69  virtual void ls(Option_t *option="") const;
70  virtual Long64_t Merge(TCollection* li, TFileMergeInfo *info);
71  virtual void Modified();
72  virtual void Paint(Option_t *chopt="");
73  virtual void Print(Option_t *chopt="") const;
74  virtual void RecursiveRemove(TObject *obj);
75  virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
76  virtual void SetHistogram(TH1 *h) {fHistogram = h;}
77  virtual void SetMaximum(Double_t maximum=-1111); // *MENU*
78  virtual void SetMinimum(Double_t minimum=-1111); // *MENU*
79 
80  ClassDef(THStack,2) //A collection of histograms
81 };
82 
83 #endif
84