ROOT logo
#ifndef TDynamicSlice_HH
#define TDynamicSlice_HH

#include "TNamed.h"


#include "TGClient.h"
#include "TGDockableFrame.h"
#include "TGMenu.h"
#include "TGMdiDecorFrame.h"
#include "TGMdiFrame.h"
#include "TGMdiMainFrame.h"
#include "TGFrame.h"
#include "TGFileDialog.h"
#include "TGCanvas.h"
#include "TGButton.h"
#include "TGLabel.h"
#include "TRootEmbeddedCanvas.h"
#include "TCanvas.h"
#include "TPad.h"
#include "TH1.h"
#include "TH2.h"
#include "TPad.h"
#include "TList.h"
#include "TROOT.h"
#include "TBox.h"
#include <iostream>

using namespace std;

class TDynamicSlice : public TObject
{
  private:
	  
		TH2*             fHist; // original histogram
		TH1D*            fProjection; // projection histogram
		int              fType; // 0= projection X, 1 = projection Y
		
		TGMainFrame*     fMainFrame;
    TGRadioButton*   fRadio[2]; 
		TGCheckButton*	 fCheck[3];
		TBox*            fBox;
			
		TCanvas*         fCanvas; // preview canvas
		TPad*            fPad; // original pad
		
		bool             fDoIt;
		bool             fPreview; // enable/disable preview
		bool             fLog[2];
		
		
		int              fEdge;
		int              fWidth; // width of the cut in number of bins
		int              fCenter; // center of the cut in number of bins
		
		enum {kPREVIEW, kLOGX, kLOGY};
		enum {kPROJX, kPROJY};
	
  public:
                     TDynamicSlice(TH2*, TPad*, int);
    virtual          ~TDynamicSlice();  
		void             setProjection(int);
		void             switchPreview();
		void             switchLog(int);
		void             process();
		void             close(int);
		void             closeWindow();
		void             draw(int);
            
  ClassDef(TDynamicSlice,1)
};
#endif
 TDynamicSlice.h:1
 TDynamicSlice.h:2
 TDynamicSlice.h:3
 TDynamicSlice.h:4
 TDynamicSlice.h:5
 TDynamicSlice.h:6
 TDynamicSlice.h:7
 TDynamicSlice.h:8
 TDynamicSlice.h:9
 TDynamicSlice.h:10
 TDynamicSlice.h:11
 TDynamicSlice.h:12
 TDynamicSlice.h:13
 TDynamicSlice.h:14
 TDynamicSlice.h:15
 TDynamicSlice.h:16
 TDynamicSlice.h:17
 TDynamicSlice.h:18
 TDynamicSlice.h:19
 TDynamicSlice.h:20
 TDynamicSlice.h:21
 TDynamicSlice.h:22
 TDynamicSlice.h:23
 TDynamicSlice.h:24
 TDynamicSlice.h:25
 TDynamicSlice.h:26
 TDynamicSlice.h:27
 TDynamicSlice.h:28
 TDynamicSlice.h:29
 TDynamicSlice.h:30
 TDynamicSlice.h:31
 TDynamicSlice.h:32
 TDynamicSlice.h:33
 TDynamicSlice.h:34
 TDynamicSlice.h:35
 TDynamicSlice.h:36
 TDynamicSlice.h:37
 TDynamicSlice.h:38
 TDynamicSlice.h:39
 TDynamicSlice.h:40
 TDynamicSlice.h:41
 TDynamicSlice.h:42
 TDynamicSlice.h:43
 TDynamicSlice.h:44
 TDynamicSlice.h:45
 TDynamicSlice.h:46
 TDynamicSlice.h:47
 TDynamicSlice.h:48
 TDynamicSlice.h:49
 TDynamicSlice.h:50
 TDynamicSlice.h:51
 TDynamicSlice.h:52
 TDynamicSlice.h:53
 TDynamicSlice.h:54
 TDynamicSlice.h:55
 TDynamicSlice.h:56
 TDynamicSlice.h:57
 TDynamicSlice.h:58
 TDynamicSlice.h:59
 TDynamicSlice.h:60
 TDynamicSlice.h:61
 TDynamicSlice.h:62
 TDynamicSlice.h:63
 TDynamicSlice.h:64
 TDynamicSlice.h:65
 TDynamicSlice.h:66
 TDynamicSlice.h:67
 TDynamicSlice.h:68
 TDynamicSlice.h:69
 TDynamicSlice.h:70
 TDynamicSlice.h:71
 TDynamicSlice.h:72