File indexing completed on 2025-01-18 10:11:52
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROOT_TGeoManagerEditor
0013 #define ROOT_TGeoManagerEditor
0014
0015 #include "TGWidget.h"
0016 #include "TGeoGedFrame.h"
0017
0018 class TGeoManager;
0019 class TGeoVolume;
0020 class TGeoShape;
0021 class TGeoMedium;
0022 class TGeoMaterial;
0023 class TGeoMatrix;
0024 class TGShutter;
0025 class TGShutterItem;
0026 class TGTextEntry;
0027 class TGTab;
0028 class TGComboBox;
0029 class TGNumberEntry;
0030 class TGTextButton;
0031 class TGPictureButton;
0032 class TGCheckButton;
0033 class TGRadioButton;
0034 class TGeoTabManager;
0035
0036 class TGeoManagerEditor : public TGedFrame {
0037
0038 protected:
0039 TGeoManager *fGeometry;
0040 TGeoTabManager *fTabMgr;
0041 TGTab *fTab;
0042 TGCompositeFrame *fVolumeTab;
0043 Bool_t fIsModified;
0044 TGShutter *fCategories;
0045 TGTextEntry *fManagerName;
0046 TGTextEntry *fManagerTitle;
0047 TGTextEntry *fMediumName;
0048 TGTextEntry *fMatrixName;
0049 TGTextEntry *fMaterialName;
0050 TGTextEntry *fVolumeName;
0051 TGeoMaterial *fSelectedMaterial;
0052 TGeoMaterial *fSelectedMaterial2;
0053 TGLabel *fLSelMaterial;
0054 TGLabel *fLSelMaterial2;
0055 TGPictureButton *fBSelMaterial;
0056 TGPictureButton *fBSelMaterial2;
0057 TGeoVolume *fSelectedVolume;
0058 TGLabel *fLSelVolume;
0059 TGPictureButton *fBSelVolume;
0060 TGeoShape *fSelectedShape;
0061 TGeoShape *fSelectedShape2;
0062 TGLabel *fLSelShape;
0063 TGLabel *fLSelShape2;
0064 TGPictureButton *fBSelShape;
0065 TGPictureButton *fBSelShape2;
0066 TGeoMatrix *fSelectedMatrix;
0067 TGLabel *fLSelMatrix;
0068 TGPictureButton *fBSelMatrix;
0069 TGeoMedium *fSelectedMedium;
0070 TGeoMedium *fSelectedMedium2;
0071 TGLabel *fLSelMedium;
0072 TGLabel *fLSelMedium2;
0073 TGPictureButton *fBSelMedium;
0074 TGPictureButton *fBSelMedium2;
0075 TGPictureButton *fShapeButton[21];
0076 TGPictureButton *fMatrixButton[3];
0077 TGPictureButton *fVolumeButton[2];
0078 TGPictureButton *fMaterialButton[2];
0079 TGRadioButton *fExportOption[2];
0080 TGTextButton *fExportButton;
0081 TGComboBox *fElementList;
0082 TGNumberEntry *fEntryDensity;
0083 TGPictureButton *fMediumButton;
0084 TGNumberEntry *fMediumId;
0085 TGTextButton *fEditShape;
0086 TGTextButton *fEditMedium;
0087 TGTextButton *fEditMaterial;
0088 TGTextButton *fEditMatrix;
0089 TGTextButton *fEditVolume;
0090 TGTextButton *fSetTopVolume;
0091 TGLabel *fLSelTop;
0092 TGPictureButton *fBSelTop;
0093 TGTextButton *fCloseGeometry;
0094 TGCompositeFrame *f2;
0095 TGCompositeFrame *f3;
0096 TGCompositeFrame *f4;
0097 TGCompositeFrame *f5;
0098 TGCompositeFrame *f6;
0099 TGCompositeFrame *f7;
0100 TCanvas *fConnectedCanvas;
0101
0102 virtual void ConnectSignals2Slots();
0103 void ShowSelectShape(Bool_t show = kTRUE);
0104 void ShowSelectVolume(Bool_t show = kTRUE);
0105 void ShowSelectMaterial(Bool_t show = kTRUE);
0106 void ShowSelectMedium(Bool_t show = kTRUE);
0107 void ShowSelectMatrix(Bool_t show = kTRUE);
0108
0109 public:
0110 TGeoManagerEditor(const TGWindow *p = nullptr, Int_t width = 140, Int_t height = 30, UInt_t options = kChildFrame,
0111 Pixel_t back = GetDefaultFrameBackground());
0112 ~TGeoManagerEditor() override;
0113 static void LoadLib();
0114 void SetModel(TObject *obj) override;
0115
0116 virtual void SelectedSlot(TVirtualPad *pad, TObject *obj, Int_t event);
0117 void ConnectSelected(TCanvas *c);
0118 void DisconnectSelected();
0119
0120 void DoName();
0121 void DoCreateBox();
0122 void DoCreatePara();
0123 void DoCreateTrd1();
0124 void DoCreateTrd2();
0125 void DoCreateTrap();
0126 void DoCreateGtra();
0127 void DoCreateXtru();
0128 void DoCreateArb8();
0129 void DoCreateTube();
0130 void DoCreateTubs();
0131 void DoCreateCone();
0132 void DoCreateCons();
0133 void DoCreateSphe();
0134 void DoCreateCtub();
0135 void DoCreateEltu();
0136 void DoCreateTorus();
0137 void DoCreatePcon();
0138 void DoCreatePgon();
0139 void DoCreateHype();
0140 void DoCreateParab();
0141 void DoCreateComposite();
0142 void DoCreateMaterial();
0143 void DoCreateMixture();
0144 void DoCreateMedium();
0145 void DoCreateTranslation();
0146 void DoCreateRotation();
0147 void DoCreateCombi();
0148 void DoCreateVolume();
0149 void DoCreateAssembly();
0150 void DoEditShape();
0151 void DoEditVolume();
0152 void DoEditMedium();
0153 void DoEditMaterial();
0154 void DoEditMatrix();
0155 void DoSelectShape();
0156 void DoSelectShape2();
0157 void DoSelectVolume();
0158 void DoSelectMatrix();
0159 void DoSelectMaterial();
0160 void DoSelectMaterial2();
0161 void DoSelectMedium();
0162 void DoSelectMedium2();
0163 void DoSetTopVolume();
0164 void DoSelectTopVolume();
0165 void DoExportGeometry();
0166 void DoCloseGeometry();
0167
0168 ClassDefOverride(TGeoManagerEditor, 0)
0169 };
0170
0171 #endif