Logo ROOT   6.12/07
Reference Guide
TGeoVolumeEditor.h
Go to the documentation of this file.
1 // @(#):$Id$
2 // Author: M.Gheata
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TGeoVolumeEditor
13 #define ROOT_TGeoVolumeEditor
14 
15 #include "TGWidget.h"
16 #include "TGeoGedFrame.h"
17 
18 class TGeoManager;
19 class TGeoVolume;
20 class TGeoShape;
21 class TGeoMedium;
22 class TGeoMaterial;
23 class TGeoMatrix;
24 class TGTextEntry;
25 class TGNumberEntry;
26 class TGTab;
27 class TGComboBox;
28 class TGTextButton;
29 class TGPictureButton;
30 class TGCheckButton;
31 class TGRadioButton;
32 class TGShutter;
33 class TGShutterItem;
34 class TGeoTabManager;
35 
37 
38 protected:
39 
40  TGeoManager *fGeometry; // Selected geometry manager
41  TGeoVolume *fVolume; // Volume object
42  Bool_t fIsModified; // Flag that volume was modified
43  Bool_t fIsAssembly; // Flag that the volume is an assembly
44  Bool_t fIsDivided; // Flag that the volume is divided
45  TGShutter *fCategories; // Categories shutter
46  TGTextEntry *fVolumeName; // Volume name text entry
47  TGeoShape *fSelectedShape; // Selected shape
48  TGLabel *fLSelShape; // Selected shape label
49  TGPictureButton *fBSelShape; // Button for selecting a shape
50  TGeoMedium *fSelectedMedium; // Selected medium
51  TGLabel *fLSelMedium; // Selected medium label
52  TGPictureButton *fBSelMedium; // Button for selecting a medium
53  TGeoVolume *fSelectedVolume; // Selected volume
54  TGLabel *fLSelVolume; // Selected volume label
55  TGPictureButton *fBSelVolume; // Button for selecting a volume
56  TGeoMatrix *fSelectedMatrix; // Selected matrix
57  TGLabel *fLSelMatrix; // Selected matrix label
58  TGPictureButton *fBSelMatrix; // Button for selecting a matrix
59  TGNumberEntry *fCopyNumber; // Node copy number
60  TGTextButton *fAddNode; // Button for adding a node
61  TGTextButton *fEditShape; // Check button for shape editing
62  TGTextButton *fEditMedium; // Check button for medium editing
63  TGComboBox *fNodeList; // Daughters combo box
64  TGTextButton *fEditMatrix; // Button for editing the position of a daughter
65  TGTextButton *fRemoveNode; // Button for removing a daughter
66  TGCheckButton *fBVis[2]; // Buttons for setting vis. on/off
67  TGRadioButton *fBView[3]; // Radio for selecting view options
68  TGCheckButton *fBRaytrace; // Raytracing on/off
69  TGCheckButton *fBAuto; // Check button for auto vis level
70  TGNumberEntry *fEVisLevel; // Number entry for visibility level
71  TGTextButton *fApplyDiv; // Button for applying division settings
72  TGTextEntry *fDivName; // Division volume name text entry
73  TGRadioButton *fBDiv[3]; // Radio for selecting division type
74  TGNumberEntry *fEDivFrom; // Number entry for division start
75  TGNumberEntry *fEDivStep; // Number entry for division step
76  TGNumberEntry *fEDivN; // Number entry for division Nslices
77 
78  virtual void ConnectSignals2Slots(); // Connect the signals to the slots
79 
80 public:
81  TGeoVolumeEditor(const TGWindow *p = 0,
82  Int_t width = 140, Int_t height = 30,
83  UInt_t options = kChildFrame,
85  virtual ~TGeoVolumeEditor();
86  virtual void SetModel(TObject *obj);
87  virtual void ActivateBaseClassEditors(TClass* cl);
88 
89  void DoAddNode();
90  void DoVolumeName();
91  void DoSelectShape();
92  void DoSelectMedium();
93  void DoSelectMatrix();
94  void DoSelectVolume();
95  void DoEditShape();
96  void DoEditMedium();
97  void DoEditMatrix();
98  void DoRemoveNode();
99  void DoVisVolume();
100  void DoVisDaughters();
101  void DoVisAuto();
102  void DoVisLevel();
103  void DoViewAll();
104  void DoViewLeaves();
105  void DoViewOnly();
106  void DoDivSelAxis();
107  void DoDivFromTo();
108  void DoDivStep();
109  void DoDivN();
110  void DoDivName();
111  void DoApplyDiv();
112  void DoRaytrace();
113 
114  ClassDef(TGeoVolumeEditor,0) // TGeoVolume editor
115 };
116 
117 #endif
TGeoVolume * fSelectedVolume
void DoDivN()
Handle division N modification.
TGeoMedium * fSelectedMedium
void DoRemoveNode()
Remove a daughter.
virtual ~TGeoVolumeEditor()
Destructor.
void DoRaytrace()
Slot for raytracing.
virtual void ConnectSignals2Slots()
Connect signals to slots.
The manager class for any TGeo geometry.
Definition: TGeoManager.h:38
void DoDivSelAxis()
Change division axis and preserve number of slices.
Definition: TGTab.h:62
Geometrical transformation package.
Definition: TGeoMatrix.h:40
void DoSelectMatrix()
Select a matrix for positioning.
Manager for all editor tabs.
TGTextButton * fApplyDiv
void DoSelectShape()
Select a new shape.
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition: TGeoVolume.h:48
void DoVisAuto()
Slot for setting visibility depth auto.
TGeoMatrix * fSelectedMatrix
TGNumberEntry * fEVisLevel
void DoAddNode()
Add a daughter.
TGTextEntry * fDivName
Base class describing materials.
Definition: TGeoMaterial.h:29
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
void DoVolumeName()
Modify volume name.
void DoEditMedium()
Edit the medium of the volume.
void DoViewLeaves()
Slot for viewing last leaves only.
TGeoVolume * fVolume
void DoDivName()
Modify division name.
TGTextButton * fEditMedium
TGNumberEntry * fEDivStep
virtual void SetModel(TObject *obj)
Connect to the picked volume.
TGComboBox * fNodeList
#define ClassDef(name, id)
Definition: Rtypes.h:320
ULong_t Pixel_t
Definition: GuiTypes.h:39
static Pixel_t GetDefaultFrameBackground()
Get default frame background.
Definition: TGFrame.cxx:665
TGTextButton * fEditMatrix
TGTextEntry * fVolumeName
void DoVisDaughters()
Slot for setting daughters visible/invisible.
void DoApplyDiv()
Apply current division settings.
TGeoVolumeEditor(const TGWindow *p=0, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor for volume editor.
void DoVisLevel()
Slot for visibility level.
void DoVisVolume()
Slot for setting volume visible/invisible.
TGTextButton * fAddNode
TGShutter * fCategories
TGCheckButton * fBVis[2]
TGPictureButton * fBSelShape
Base abstract class for all shapes.
Definition: TGeoShape.h:25
void DoViewOnly()
Slot for viewing volume only.
TGCheckButton * fBAuto
unsigned int UInt_t
Definition: RtypesCore.h:42
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:75
void DoEditMatrix()
Edit the position of the selected node.
TGPictureButton * fBSelMatrix
TGTextButton * fRemoveNode
virtual void ActivateBaseClassEditors(TClass *cl)
Add editors to fGedFrame and exclude TLineEditor.
TGRadioButton * fBDiv[3]
Media are used to store properties related to tracking and which are useful only when using geometry ...
Definition: TGeoMedium.h:23
void DoSelectMedium()
Select a new medium.
TGCheckButton * fBRaytrace
TGNumberEntry * fCopyNumber
Mother of all ROOT objects.
Definition: TObject.h:37
TGRadioButton * fBView[3]
Editor for geometry volumes and assemblies of volumes.
TGTextButton * fEditShape
void DoDivFromTo()
Handle division range modification.
void DoEditShape()
Edit the shape of the volume.
void DoDivStep()
Handle division step modification.
TGPictureButton * fBSelVolume
void DoViewAll()
Slot for viewing volume and containers.
TGNumberEntry * fEDivN
TGPictureButton * fBSelMedium
TGNumberEntry * fEDivFrom
void DoSelectVolume()
Select a daughter volume.
TGeoManager * fGeometry
Common base class for geombuilder editors.
Definition: TGeoGedFrame.h:13
TGeoShape * fSelectedShape