#ifndef ROOT_TGeoMaterialEditor
#define ROOT_TGeoMaterialEditor
#ifndef ROOT_TGButton
#include "TGWidget.h"
#endif
#ifndef ROOT_TGeoGedFrame
#include "TGeoGedFrame.h"
#endif
class TGeoMaterial;
class TGeoTabManager;
class TGTextEntry;
class TGNumberEntry;
class TGTab;
class TGComboBox;
class TGTextButton;
class TGCanvas;
class TString;
class TGeoMaterialEditor : public TGeoGedFrame {
protected:
Double_t fAi;
Int_t fZi;
Int_t fStatei;
Double_t fDensityi;
Double_t fTempi;
Double_t fPresi;
TString fNamei;
TGeoMaterial *fMaterial;
Bool_t fIsModified;
Bool_t fIsMaterialEditable;
TGTextEntry *fMaterialName;
TGNumberEntry *fMatA;
TGNumberEntry *fMatZ;
TGComboBox *fMatState;
TGNumberEntry *fMatDensity;
TGNumberEntry *fMatTemperature;
TGNumberEntry *fMatPressure;
TGNumberEntry *fMatRadLen;
TGNumberEntry *fMatAbsLen;
TGCompositeFrame *f23;
TGTextButton *fApply;
TGTextButton *fUndo;
virtual void ConnectSignals2Slots();
public:
TGeoMaterialEditor(const TGWindow *p = 0,
Int_t width = 140, Int_t height = 30,
UInt_t options = kChildFrame,
Pixel_t back = GetDefaultFrameBackground());
virtual ~TGeoMaterialEditor();
virtual void SetModel(TObject *obj);
void DoA();
void DoZ();
void DoDensity();
void DoModified();
void DoName();
void DoRadAbs();
void DoState(Int_t state);
void DoTemperature();
void DoPressure();
void DoApply();
void DoUndo();
ClassDef(TGeoMaterialEditor,0)
};
class TGCheckButton;
class TGeoMixture;
class TGeoMixtureEditor : public TGeoMaterialEditor {
protected:
TGeoMixture *fMixture;
TGComboBox *fMixElem;
TGLabel *fNelem;
TGLabel *fAelem;
TGLabel *fZelem;
TGCheckButton *fChkFraction;
TGNumberEntry *fNEFraction;
TGCheckButton *fChkNatoms;
TGNumberEntry *fNENatoms;
TGTextButton *fBAddElem;
TGCompositeFrame *fComps;
virtual void ConnectSignals2Slots();
public:
TGeoMixtureEditor(const TGWindow *p = 0,
Int_t width = 140, Int_t height = 30,
UInt_t options = kChildFrame,
Pixel_t back = GetDefaultFrameBackground());
virtual ~TGeoMixtureEditor() {}
virtual void SetModel(TObject *obj);
void UpdateElements();
void DoApply1();
void DoUndo1();
void DoChkFraction();
void DoChkNatoms();
void DoFraction();
void DoNatoms();
void DoSelectElement(Int_t iel);
void DoAddElem();
ClassDef(TGeoMixtureEditor,0)
};
#endif