#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 "TString.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 "TContainer.h"
#include <iostream>
using namespace std;
class PelTools : public TNamed
{
private:
TFile *mCutF;
TList *mList;
TCutG *mCut;
TF1 *mBackLin;
TGMainFrame* fMainFrame1186;
bool isGUIActive;
short int mIndex;
TString mF;
TString mFHIS;
TString mFDRR;
TContainer* mHist;
void del(char*);
TList* makeList(char*);
TGTextButton* addButton(TGCompositeFrame*, char*, char*,
int, int, int, int,
int = 0x0000ff, int = 0xfffdc7);
public:
PelTools();
virtual ~PelTools();
void createFileGUI();
void openFileGUI();
void saveCutGUI();
void drawTH2Cut();
TCutG* getCutGUI();
void fitGUI();
void integralGUI();
void integralCutGUI();
void drawProjectionCut(int);
void exportAsciiGUI();
void importAsciiGUI();
void importDammGUI();
void dynamicalProjGUI(int);
void integralDump(TH1D*, float, float, TLine* line = NULL);
void integralDump(TH2D*, float, float, float, float);
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 importDamm(char*);
void menu();
void closeMenu();
void canvas() { new TCanvas();}
void browser() { new TBrowser();}
ClassDef(PelTools,1)
};
#endif