/*!\class PelTools
\author Alexandre A. P. Suaide 

<p>
This class provides the basic functionality for data analysis using ROOT. It has tools
such as projections, fiting, polygonals, etc. 
*/
#ifndef PelTools_HH

#define PelTools_HH

#include "TNamed.h"


#include <TGClient.h>

#include <TGButton.h>

#include <TGMenu.h>

#include "TGShutter.h"

#include "TBrowser.h"

#include "TFile.h"

#include "TControlBar.h"

#include "TCutG.h"

#include "TGLabel.h"

#include "TGTextBuffer.h"

#include "TGTextEntry.h"

#include "TGButton.h"

#include "TString.h"

#include "TH1.h"

#include "TH2.h"

#include "TF1.h"

#include "TDialog.h"

#include "TList.h"

#include "TPeakFitGUI.h"

#include <fstream>

#include "TGTextView.h"

#include "TROOT.h"

#include "TDirectory.h"

#include "TGClient.h"

#include "TGMsgBox.h"

#include "TGFileDialog.h" 

#include "TPad.h"

#include "TLine.h"

#include "TSpectrum.h"

#include "log.hh"

#include "TObjString.h"

#include "TDynamicSlice.h"


#include <iostream>

using namespace std;

class PelTools : public TNamed
{
  private:    
    TFile            *mCutF;
    TList            *mList;
    TCutG            *mCut;
		TF1              *mBackLin;		
		TGMainFrame*     fMainFrame1186;
		bool             isGUIActive;
          
    void             del(char*);
    TList*           makeList(char*);  		
		TGTextButton*    addButton(TGCompositeFrame*, char*, char*, 
		                           int, int, int, int, 
															 int = 0x0000ff, int = 0xfffdc7);
        
  public:
                     PelTools();
    virtual         ~PelTools();
    
    // these methods are to be used only from the GUI

    void             createFileGUI();
    void             openFileGUI();
    void             saveCutGUI();
    void             drawTH2Cut();
    TCutG*           getCutGUI();
    void             fitGUI();
    void             integralGUI();
    void             integralCutGUI();
    void             drawProjectionCut(int);
    void             exportAsciiGUI();
    void             importAsciiGUI();
		void             dynamicalProjGUI(int);
		void             integralDump(TH1D*, float, float, TLine* line = NULL);
		void             integralDump(TH2D*, float, float, float, float);
		

    // these are iteractive methods

    void             openFile(char *name, char* flag="");
    void             createFile(char* name);
    void             closeFile();
    void             listFile();
    void             saveCut(char* name="CUTG");
    TCutG*           getCut(char* name="CUTG");
    TCutG*           getCurrCut();
		void             printCurrCut();
		void             drawCurrCut();
    TH2D*            extract(TH2D* h, TCutG* c);
    float            integral(TH1D*,float,float);
    float            integral(TH2D*,float,float,float,float);
    float            counts(TH1D*,float,float);
    float            counts(TH2D*,float,float,float,float);
    void             createCut();
    void             exportAscii(TH1D*,char*,float,float);
    TH1D*            importAscii(char*);
    
    void             menu();
		void             closeMenu();
		void             canvas() { new TCanvas();}
		void             browser() { new TBrowser();}

   
  ClassDef(PelTools,1)
};

#endif



ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.