Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TEveTrackPropagatorEditor.h
Go to the documentation of this file.
1 // @(#)root/eve:$Id$
2 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2007, 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_TEveTrackPropagatorEditor
13 #define ROOT_TEveTrackPropagatorEditor
14 
15 #include "TGedFrame.h"
16 
17 class TGButton;
18 class TGCheckButton;
19 class TGNumberEntry;
20 class TGColorSelect;
21 class TGComboBox;
22 class TGLineWidthComboBox;
23 class TGLineStyleComboBox;
24 
25 class TAttMarkerEditor;
26 
27 class TEveTrackPropagator;
28 
29 class TEveGValuator;
30 class TEveGDoubleValuator;
31 class TEveTrackPropagatorSubEditor;
32 
33 class TEveTrackPropagatorSubEditor : public TGVerticalFrame
34 {
35  friend class TEveTrackPropagatorEditor;
36  friend class TEveTrackListEditor;
37 
38 private:
39  TEveTrackPropagatorSubEditor(const TEveTrackPropagatorSubEditor&); // Not implemented
40  TEveTrackPropagatorSubEditor& operator=(const TEveTrackPropagatorSubEditor&); // Not implemented
41 
42 protected:
43  TEveTrackPropagator *fM;
44 
45  TEveGValuator *fMaxR;
46  TEveGValuator *fMaxZ;
47  TEveGValuator *fMaxOrbits;
48  TEveGValuator *fMaxAng;
49  TEveGValuator *fDelta;
50 
51  TGCompositeFrame *fRefsCont;
52  TGCompositeFrame *fPMFrame;
53 
54  TGButton *fFitDaughters;
55  TGButton *fFitReferences;
56  TGButton *fFitDecay;
57  TGButton *fFitCluster2Ds;
58  TGButton *fFitLineSegments;
59  TGButton *fRnrDaughters;
60  TGButton *fRnrReferences;
61  TGButton *fRnrDecay;
62  TGButton *fRnrCluster2Ds;
63  TGButton *fRnrFV;
64 
65  TAttMarkerEditor *fPMAtt;
66  TAttMarkerEditor *fFVAtt;
67 
68  TGComboBox *fProjTrackBreaking;
69  TGButton *fRnrPTBMarkers;
70  TAttMarkerEditor *fPTBAtt;
71 
72 public:
73  TEveTrackPropagatorSubEditor(const TGWindow* p);
74  virtual ~TEveTrackPropagatorSubEditor() {}
75 
76  void SetModel(TEveTrackPropagator* m);
77 
78  void Changed(); //*SIGNAL*
79 
80  void DoMaxR();
81  void DoMaxZ();
82  void DoMaxOrbits();
83  void DoMaxAng();
84  void DoDelta();
85 
86  void DoFitPM();
87  void DoRnrPM();
88 
89  void DoRnrFV();
90 
91  void DoModePTB(UChar_t mode);
92  void DoRnrPTB();
93 
94  void CreateRefsContainer(TGVerticalFrame* p);
95 
96  ClassDef(TEveTrackPropagatorSubEditor, 0); // Sub-editor for TEveTrackPropagator class.
97 };
98 
99 /******************************************************************************/
100 // TEveTrackPropagatorEditor
101 /******************************************************************************/
102 
103 class TEveTrackPropagatorEditor : public TGedFrame
104 {
105 private:
106  TEveTrackPropagatorEditor(const TEveTrackPropagatorEditor&); // Not implemented
107  TEveTrackPropagatorEditor& operator=(const TEveTrackPropagatorEditor&); // Not implemented
108 
109  void CreateRefTab();
110 protected:
111  TEveTrackPropagator *fM; // Model object.
112  TEveTrackPropagatorSubEditor *fRSSubEditor; // Render-style sub-editor.
113 
114 public:
115  TEveTrackPropagatorEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
116  UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
117  virtual ~TEveTrackPropagatorEditor() {}
118 
119  virtual void SetModel(TObject* obj);
120 
121  ClassDef(TEveTrackPropagatorEditor, 0); // Editor for TEveTrackPropagator class.
122 };
123 
124 #endif