#ifndef __DGFTauFitPanel_h__
#define __DGFTauFitPanel_h__
#include "TList.h"
#include "TRootEmbeddedCanvas.h"
#include "TCanvas.h"
#include "TGWindow.h"
#include "TGFrame.h"
#include "TGButton.h"
#include "TGFileDialog.h"
#include "TGMenu.h"
#include "TMrbLofNamedX.h"
#include "TMrbNamedX.h"
#include "TMrbDGF.h"
#include "TMrbDGFEventBuffer.h"
#include "HistPresent.h"
#include "FitHist.h"
#include "TGMrbTextButton.h"
#include "TGMrbRadioButton.h"
#include "TGMrbPictureButton.h"
#include "TGMrbLabelEntry.h"
#include "TGMrbFileEntry.h"
#include "TGMrbLabelCombo.h"
#include "TGMrbMacroBrowser.h"
#include "DGFControlCommon.h"
class DGFTauFitPanel : public TGCompositeFrame {
public:
enum EDGFTauFitCmdId {
kDGFTauFitRangeStart,
kDGFTauFitRangeStep,
kDGFTauFitRangeStop,
kDGFTauFitRunTime,
kDGFTauFitTimeScale,
kDGFTauFitStartFit,
kDGFTauFitStop,
kDGFTauFitReset,
kDGFTauFitSelectAll,
kDGFTauFitSelectNone,
kDGFTauFitSelectColumn
};
enum EDGFTauFitTimeScaleId {
kDGFTauFitTimeScaleSecs = kDGFChannel3 << 1,
kDGFTauFitTimeScaleMins = kDGFChannel3 << 2,
kDGFTauFitTimeScaleHours = kDGFChannel3 << 3,
};
public:
DGFTauFitPanel(TGCompositeFrame * TabFrame);
virtual ~DGFTauFitPanel() { fHeap.Delete(); };
void PerformAction(Int_t FrameId, Int_t Selection);
void EntryChanged(Int_t FrameId, Int_t Selection);
void SelectModule(Int_t FrameId, Int_t Selection);
protected:
Bool_t ResetValues();
Bool_t Update(Int_t EntryId);
void MoveFocus(Int_t EntryId);
Bool_t TauFit();
void SetRunning(Bool_t RunFlag);
protected:
TList fHeap;
TGGroupFrame * fModules;
TGMrbCheckButtonList * fCluster[kNofClusters];
TGHorizontalFrame * fGroupFrame;
TGMrbPictureButtonList * fGroupSelect[kNofModulesPerCluster];
TGMrbPictureButtonList * fAllSelect;
TGHorizontalFrame * fHFrame;
TGMrbCheckButtonGroup * fSelectChannel;
TGGroupFrame * fTauFrame;
TGMrbLabelEntry * fTauStartEntry;
TGMrbLabelEntry * fTauStepEntry;
TGMrbLabelEntry * fTauStopEntry;
TGGroupFrame * fAccuFrame;
TGMrbLabelEntry * fRunTimeEntry;
TGMrbRadioButtonList * fTimeScale;
TGMrbTextButtonGroup * fButtonFrame;
TMrbLofNamedX fLofChannels;
TMrbLofNamedX fLofDGFModuleKeys[kNofClusters];
Bool_t fIsRunning;
TMrbLofNamedX fTauFitTimeScaleButtons;
TMrbLofNamedX fTauFitActions;
TGMrbFocusList fFocusList;
ClassDef(DGFTauFitPanel, 0)
};
#endif