37 enum ETGeoMaterialWid {
38 kMATERIAL_NAME, kMATERIAL_A, kMATERIAL_Z, kMATERIAL_RHO,
39 kMATERIAL_RAD, kMATERIAL_ABS, kMATERIAL_STATE, kMATERIAL_TEMP, kMATERIAL_PRES,
40 kMATERIAL_APPLY, kMATERIAL_CANCEL, kMATERIAL_UNDO
201 fApply->
Connect(
"Clicked()",
"TGeoMaterialEditor",
this,
"DoApply()");
202 fUndo->
Connect(
"Clicked()",
"TGeoMaterialEditor",
this,
"DoUndo()");
204 fMatA->
Connect(
"ValueSet(Long_t)",
"TGeoMaterialEditor",
this,
"DoA()");
205 fMatZ->
Connect(
"ValueSet(Long_t)",
"TGeoMaterialEditor",
this,
"DoZ()");
206 fMatState->
Connect(
"Selected(Int_t)",
"TGeoMaterialEditor",
this,
"DoState(Int_t)");
210 fMatRadLen->
Connect(
"ValueSet(Long_t)",
"TGeoMaterialEditor",
this,
"DoRadAbs()");
211 fMatAbsLen->
Connect(
"ValueSet(Long_t)",
"TGeoMaterialEditor",
this,
"DoRadAbs()");
399 MakeTitle(
"Mixture settings");
400 fNelem =
new TGLabel(
this,
"Number of elements: 0");
412 if (element) fMixElem->AddEntry(element->
GetTitle(),i);
416 fMixElem->Resize(90, fMaterialName->GetDefaultHeight());
419 fAelem =
new TGLabel(comp1,
"A = 0");
421 fZelem =
new TGLabel(comp1,
"Z = 0");
430 fChkFraction->SetDown(
kTRUE);
434 fNEFraction->Resize(65, fMaterialName->GetDefaultHeight());
437 fNEFraction->SetNumber(0.);
438 fNEFraction->Associate(
this);
446 fChkNatoms->SetDown(
kFALSE);
450 fNENatoms->Resize(65, fMaterialName->GetDefaultHeight());
453 fNENatoms->SetNumber(0);
454 fNENatoms->Associate(
this);
460 fBAddElem->Associate(
this);
478 fApply->
Connect(
"Clicked()",
"TGeoMixtureEditor",
this,
"DoApply1()");
479 fUndo->
Connect(
"Clicked()",
"TGeoMixtureEditor",
this,
"DoUndo1()");
483 fNENatoms->
Connect(
"ValueSet(Long_t)",
"TGeoMixtureEditor",
this,
"DoNatoms()");
484 fMixElem->
Connect(
"Selected(Int_t)",
"TGeoMixtureEditor",
this,
"DoSelectElement(Int_t)");
487 fMatA->
Connect(
"ValueSet(Long_t)",
"TGeoMaterialEditor",
this,
"DoA()");
488 fMatZ->
Connect(
"ValueSet(Long_t)",
"TGeoMaterialEditor",
this,
"DoZ()");
489 fMatState->
Connect(
"Selected(Int_t)",
"TGeoMaterialEditor",
this,
"DoState(Int_t)");
493 fMatRadLen->
Connect(
"ValueSet(Long_t)",
"TGeoMaterialEditor",
this,
"DoRadAbs()");
494 fMatAbsLen->
Connect(
"ValueSet(Long_t)",
"TGeoMaterialEditor",
this,
"DoRadAbs()");
567 Error(
"DoSelectElement",
"No element at index %d", ielem);
583 if (!byfraction && natoms<=0)
return;
585 if (byfraction && frac<=0)
return;
640 for (
Int_t i=0; i<nelem; i++) {
virtual const char * GetTitle() const
Returns title of object.
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
TGNumberEntry * fMatTemperature
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
ClassImp(TGeoMaterialEditor) enum ETGeoMaterialWid
ClassImp(TSeqCollection) Int_t TSeqCollection TIter next(this)
Return index of object in collection.
virtual Bool_t IsComposite() const
virtual void SetToolTipText(const char *text, Long_t delayms=500)
Set tool tip text associated with this text entry.
Double_t * GetZmixt() const
virtual void SetName(const char *name)
Change (i.e.
void DoZ()
Slot for charge.
TGeoMaterialEditor(const TGWindow *p=0, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor for material editor.
TGeoElementTable * GetElementTable()
Returns material table. Creates it if not existing.
void DoState(Int_t state)
Slot for material state.
virtual void SetNumber(Double_t val)
void DoPressure()
Slot for material pressure.
Double_t GetPressure() const
TGCompositeFrame * fComps
void SetRadLen(Double_t radlen, Double_t intlen=0.)
Set radiation/absorbtion lengths.
void DoModified()
Slot for signaling modifications.
virtual TList * GetList() const
virtual void RemoveAll()
Remove all frames from composite frame.
void GetMaterialEditor(TGeoMaterial *material)
Get editor for a material.
virtual void ConnectSignals2Slots()
Connect signals to slots.
void DoFraction()
Fraction changed.
void DoDensity()
Slot for density.
static void Cleanup(TGCompositeFrame *frame)
Static method to cleanup hirarchically all daughters of a composite frame.
const char * Data() const
virtual void SetModel(TObject *obj)
Connect to the selected material.
TGNumberEntry * fMatDensity
TGTextEntry * fMaterialName
TGNumberEntryField * GetNumberEntry() const
void DoName()
Perform name change.
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString...
virtual void SetModel(TObject *obj)
Connect to the selected mixture.
Double_t * GetWmixt() const
virtual void SetText(TGString *newText)
Set new text in label.
const char * GetText() const
virtual Bool_t IsMixture() const
virtual void SetActive(Bool_t active=kTRUE)
Set active GUI attribute frames related to the selected object.
virtual void Select(Int_t id, Bool_t emit=kTRUE)
Make the selected item visible in the combo box window and emit signals according to the second param...
TGCompositeFrame(const TGCompositeFrame &)
void DoUndo()
Slot for cancelling current modifications.
virtual TGeoElement * GetElement(Int_t i=0) const
Retreive the pointer to the element corresponding to component I.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual ~TGeoMaterialEditor()
Destructor.
TGNumberEntry * fMatAbsLen
virtual void SetDefaultSize(UInt_t w, UInt_t h)
Set the default / minimal size of the widget.
virtual Double_t GetA() const
TGCheckButton * fChkFraction
EGeoMaterialState GetState() const
virtual Int_t GetSelected() const
void AddElement(Double_t a, Double_t z, Double_t weight)
add an element to the mixture using fraction by weight Check if the element is already defined ...
virtual Double_t GetIntLen() const
virtual Int_t GetNelements() const
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot...
virtual void Associate(const TGWindow *w)
Make w the window that will receive the generated messages.
void DoA()
Slot for atomic mass.
virtual void SetSize(const TGDimension &s)
void DoApply1()
Slot for applying modifications.
Double_t GetTemperature() const
TGNumberEntry * fNENatoms
void SetDensity(Double_t density)
void DoChkFraction()
Check button state changed for fraction.
virtual const char * GetName() const
Returns name of object.
void SetPressure(Double_t pressure)
static void MoveFrame(TGCompositeFrame *fr, TGCompositeFrame *p)
Move frame fr at the end of the list of parent p.
void DoApply()
Slot for applying modifications.
virtual void ConnectSignals2Slots()
Connect signals to slots.
R__EXTERN TGeoManager * gGeoManager
void SetState(EGeoMaterialState state)
virtual void AddEntry(TGString *s, Int_t id)
TGDimension GetSize() const
void DoRadAbs()
Slot for radiation/absorbtion length.
Double_t * GetAmixt() const
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints.
virtual void MapSubwindows()
Map all sub windows that are part of the composite frame.
virtual Double_t GetZ() const
Mother of all ROOT objects.
virtual Double_t GetRadLen() const
void SetTemperature(Double_t temperature)
virtual UInt_t GetDefaultHeight() const
void UpdateElements()
Update the list of elements in the TGCanvas.
void SetTextJustify(Int_t tmode)
Set text justification.
virtual Double_t GetDensity() const
void DoNatoms()
Natoms changed.
TGNumberEntry * fNEFraction
Bool_t fIsMaterialEditable
void DoUndo1()
Slot for undoing all changes.
Int_t GetNelements() const
virtual Double_t GetNumber() const
TGCheckButton * fChkNatoms
TGeoElement * GetElement(Int_t z)
void DoAddElem()
Slot for adding an element. No undo.
virtual void SetText(const char *text, Bool_t emit=kTRUE)
Sets text entry to text, clears the selection and moves the cursor to the end of the line...
void DoChkNatoms()
Check button state changed for natoms.
virtual void Cleanup()
Cleanup and delete all objects contained in this composite frame.
void DoTemperature()
Slot for material temperature.
TGNumberEntry * fMatRadLen
virtual void MakeTitle(const char *title)
Create attribute frame title.
TGNumberEntry * fMatPressure
void DoSelectElement(Int_t iel)
Slot for selecting an element.