Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-11-15 09:57:17

0001 // @(#):$Id$
0002 // Author: M.Gheata
0003 /*************************************************************************
0004  * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers.               *
0005  * All rights reserved.                                                  *
0006  *                                                                       *
0007  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0008  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0009  *************************************************************************/
0010 
0011 #ifndef ROOT_TGeoParaEditor
0012 #define ROOT_TGeoParaEditor
0013 
0014 #include "TGWidget.h"
0015 #include "TGeoGedFrame.h"
0016 
0017 class TGeoPara;
0018 class TGeoTabManager;
0019 class TGTextEntry;
0020 class TGNumberEntry;
0021 class TGTab;
0022 class TGComboBox;
0023 class TGTextButton;
0024 class TGCheckButton;
0025 class TString;
0026 
0027 class TGeoParaEditor : public TGeoGedFrame {
0028 
0029 protected:
0030    Double_t fXi;            // Initial  X
0031    Double_t fYi;            // Initial  Y
0032    Double_t fZi;            // Initial  Z
0033    Double_t fAlphai;        // Initial  alpha
0034    Double_t fThetai;        // Initial  theta
0035    Double_t fPhii;          // Initial  phi
0036    TString fNamei;          // Initial name
0037    TGeoPara *fShape;        // Shape object
0038    Bool_t fIsModified;      // Flag that volume was modified
0039    Bool_t fIsShapeEditable; // Flag that the shape can be changed
0040 
0041    TGTextEntry *fShapeName; // Shape name text entry
0042    TGNumberEntry *fEDx;     // Number entry for  DX2
0043    TGNumberEntry *fEDy;     // Number entry for  DY
0044    TGNumberEntry *fEDz;     // Number entry for  DZ
0045    TGNumberEntry *fEAlpha;  // Number entry for  Alpha
0046    TGNumberEntry *fETheta;  // Number entry for  Theta
0047    TGNumberEntry *fEPhi;    // Number entry for  Theta
0048    TGTextButton *fApply;    // Apply-Button to accept changes
0049    TGTextButton *fUndo;     // Undo-Button
0050    TGCheckButton *fDelayed; // Check button for delayed draw
0051 
0052    virtual void ConnectSignals2Slots(); // Connect the signals to the slots
0053    Bool_t IsDelayed() const;
0054 
0055 public:
0056    TGeoParaEditor(const TGWindow *p = nullptr, Int_t width = 140, Int_t height = 30, UInt_t options = kChildFrame,
0057                   Pixel_t back = GetDefaultFrameBackground());
0058    ~TGeoParaEditor() override;
0059    void SetModel(TObject *obj) override;
0060 
0061    void DoX();
0062    void DoY();
0063    void DoZ();
0064    void DoAlpha();
0065    void DoTheta();
0066    void DoPhi();
0067    void DoModified();
0068    void DoName();
0069    void DoApply();
0070    void DoUndo();
0071 
0072    ClassDefOverride(TGeoParaEditor, 0) // TGeoPara editor
0073 };
0074 
0075 #endif