FEDRA emulsion software from the OPERA Collaboration
EdbEDAMainTab.h
Go to the documentation of this file.
1 #ifndef __EDA_MAINTAB_H__
2 #define __EDA_MAINTAB_H__
3 
4 #include"EdbEDAUtil.h"
5 #include"EdbEDATrackSet.h"
6 using namespace EdbEDAUtil;
7 
8 
10  private:
11  TGCheckButton *eGCBTrackID;
12  TGCheckButton *eGCBTrackAngle;
13  TGRadioButton *eGRBSelSeg;
14  TGRadioButton *eGRBSelTrack;
15 
16  public:
17 
18  enum{ kSelSeg, kSelTrack};
19 
20  TGNumberEntry *eGNENseg;
21  TGNumberEntry *eGNEMaxPlate;
22  TGNumberEntryField *eGNEWCut;
23  TGNumberEntryField *eGNEPHDTRMS;
24 
25  TGCheckButton *eGClearPrevious;
26 
27  TGCheckButton *eGSideOut;
28  TGNumberEntry *eGSideOutPlate;
29  TGCheckButton *eGCBNeighbor;
30  TGCheckButton *eGCBIpCut;
31  TGCheckButton *eGCBAngleCut;
32 
33  TGNumberEntry *eGNETolDT;
34  TGNumberEntry *eGNETolDX;
35  TGNumberEntryField *eGNEAX;
36  TGNumberEntryField *eGNEAY;
37  TGNumberEntryField *eGNENeighborDzUp;
38  TGNumberEntryField *eGNENeighborDzDown;
39 
40  // track search
41  TGNumberEntryField *eGNESearchTrack;
42  TGNumberEntryField *eGNESearchSegmentIPL;
43  TGNumberEntryField *eGNESearchSegmentISeg;
44 
45  // search couples
46  TGNumberEntry *eGNESearchBTIPL;
47 
48  TGCheckButton *eGCBExtention;
49  TGCheckButton *eGCBExtention_res;
50  TGCheckButton *fTextButton_scanback;
51 
52  TGHSlider *eGSliderExtentionZ;
53 
54  TGNumberEntryField *eGNEExtentionZ;
55 
56  TGRadioButton *eGRBColorPH;
57  TGRadioButton *eGRBColorPL;
58  TGRadioButton *eGRBColorBK;
59  TObjArray *eDrawChecks;
60 
61  TGCheckButton *eGCBAnimation;
62  TGCheckButton *eGCBDrawArea;
63 
64  TGMainFrame *eIDWindow;
65 
66  EdbEDATrackSet *eTrackSet; // TrackSet for the search.
67 
68 
69 
71  eIDWindow=NULL;
72  MakeGUIMain();
73  }
74  virtual ~EdbEDAMainTab(){}
75 
76  void MakeGUIMain();
77  void MakeGUICuts(TGGroupFrame *fGroupFrame1);
78  void MakeGUIIDSearch();
79 
80  void Redo(void);
81  void ExecTrackSearch();
82  void ExecSegmentSearch();
83  void ExecCuts(int redraw = kTRUE);
84  void ApplyParams();
85 
86  void SearchCouplesIP(int ipl, double x, double y, double z, double ipcut = 50, TObjArray *cps = NULL);
87  void SearchCouplesIP(int ipl, EdbVertex *v, double ipcut = 50, TObjArray *cps = NULL);
88  void SearchCouplesIP(TObjArray *segsarr = NULL);
89  void SearchCouplesDmin(TObjArray *segsarr, int ipl);
90  void SearchCouplesDmin(TObjArray *segsarr = NULL);
91 
92  void ClearTracks(void);
93  void ClearVertices();
94 
95  void SetPickSegment();
96  void SetPickTrack();
97  void DrawOnlySelected();
98  void RemoveSelected();
99  void SelectAll();
100 
101  void SetExtention();
102  void SetDrawText();
103  void SetDrawTrackSets(Bool_t on);
104  void SetDrawCheckBox();
105  void SetExtentionZSlider();
106  void SetExtentionZNumber();
107  void DrawExtentionResolution();
108  int GetNsegCut(){ return eGNENseg->GetIntNumber();}
109  double GetPHCut() { return eGNEWCut->GetNumber();}
110  double GetPHDTRMS(){ return eGNEPHDTRMS->GetNumber();}
111  double GetTX(){ return eGNEAX->GetNumber();}
112  double GetTY(){ return eGNEAY->GetNumber();}
113  double GetDT(){ return eGNETolDT->GetNumber();}
114 
115  void CalcMinimumDistance(void);
116  // calculate Dmin for the all combinations of the selected tracks.
117  // original code from Tomoko Ariga
118  void CalcVertex(int clear_previous_local=kTRUE);
119  void CalcVertexPlus();
120 
121  void CalcPSelected();
122  void CalcIP();
123  void SetDrawAreas();
124  void PickCenter();
125  void SetAnimation();
126  void SetColorMode();
127  void ReadListFile(const char *filename=NULL, bool clear_previous=kFALSE);
128  const char * WriteListFile(const char *filename=NULL);
129  void ReadFilteredText();
130  void WriteFilteredText();
131  void SetProjection();
132 
133  void WriteFeedback();
134  void ReadFeedback();
135  void WriteMxxFile();
136 
137  void SetOutputFileModeButton();
138 
139  void MicroTrackSearch();
140 
141  ClassDef(EdbEDAMainTab, 0) // Main GUI
142 };
143 
144 #endif // __EDA_MAINTAB_H__
Definition: EdbEDAMainTab.h:9
TGNumberEntryField * eGNEAX
Definition: EdbEDAMainTab.h:35
TGRadioButton * eGRBColorPL
Definition: EdbEDAMainTab.h:57
TGNumberEntry * eGNENseg
Definition: EdbEDAMainTab.h:20
TGNumberEntry * eGSideOutPlate
Definition: EdbEDAMainTab.h:28
void ApplyParams()
TGNumberEntryField * eGNEExtentionZ
Definition: EdbEDAMainTab.h:54
@ kSelSeg
Definition: EdbEDAMainTab.h:18
TGNumberEntryField * eGNEPHDTRMS
Definition: EdbEDAMainTab.h:23
TGCheckButton * eGCBNeighbor
Definition: EdbEDAMainTab.h:29
TGCheckButton * eGClearPrevious
Definition: EdbEDAMainTab.h:25
TGHSlider * eGSliderExtentionZ
Definition: EdbEDAMainTab.h:52
EdbEDAMainTab(void)
Definition: EdbEDAMainTab.h:70
TGNumberEntryField * eGNESearchTrack
Definition: EdbEDAMainTab.h:41
virtual ~EdbEDAMainTab()
Definition: EdbEDAMainTab.h:74
double GetDT()
Definition: EdbEDAMainTab.h:113
TGNumberEntryField * eGNEAY
Definition: EdbEDAMainTab.h:36
TGNumberEntryField * eGNESearchSegmentIPL
Definition: EdbEDAMainTab.h:42
TGNumberEntryField * eGNENeighborDzUp
Definition: EdbEDAMainTab.h:37
double GetPHCut()
Definition: EdbEDAMainTab.h:109
double GetTX()
Definition: EdbEDAMainTab.h:111
TGCheckButton * eGCBTrackAngle
Definition: EdbEDAMainTab.h:12
TGNumberEntryField * eGNEWCut
Definition: EdbEDAMainTab.h:22
int GetNsegCut()
Definition: EdbEDAMainTab.h:108
TGCheckButton * eGCBExtention
Definition: EdbEDAMainTab.h:48
TGCheckButton * fTextButton_scanback
Definition: EdbEDAMainTab.h:50
TGCheckButton * eGCBDrawArea
Definition: EdbEDAMainTab.h:62
TGRadioButton * eGRBColorPH
Definition: EdbEDAMainTab.h:56
double GetPHDTRMS()
Definition: EdbEDAMainTab.h:110
TGNumberEntry * eGNETolDT
Definition: EdbEDAMainTab.h:33
TGNumberEntry * eGNETolDX
Definition: EdbEDAMainTab.h:34
TGCheckButton * eGSideOut
Definition: EdbEDAMainTab.h:27
TObjArray * eDrawChecks
Definition: EdbEDAMainTab.h:59
TGCheckButton * eGCBAngleCut
Definition: EdbEDAMainTab.h:31
double GetTY()
Definition: EdbEDAMainTab.h:112
TGCheckButton * eGCBTrackID
Definition: EdbEDAMainTab.h:11
TGMainFrame * eIDWindow
Definition: EdbEDAMainTab.h:64
TGNumberEntry * eGNESearchBTIPL
Definition: EdbEDAMainTab.h:46
TGNumberEntryField * eGNENeighborDzDown
Definition: EdbEDAMainTab.h:38
TGCheckButton * eGCBAnimation
Definition: EdbEDAMainTab.h:61
TGRadioButton * eGRBColorBK
Definition: EdbEDAMainTab.h:58
TGRadioButton * eGRBSelSeg
Definition: EdbEDAMainTab.h:13
EdbEDATrackSet * eTrackSet
Definition: EdbEDAMainTab.h:66
TGCheckButton * eGCBIpCut
Definition: EdbEDAMainTab.h:30
TGCheckButton * eGCBExtention_res
Definition: EdbEDAMainTab.h:49
TGNumberEntryField * eGNESearchSegmentISeg
Definition: EdbEDAMainTab.h:43
TGNumberEntry * eGNEMaxPlate
Definition: EdbEDAMainTab.h:21
TGRadioButton * eGRBSelTrack
Definition: EdbEDAMainTab.h:14
Definition: EdbEDATrackSet.h:178
Definition: EdbVertex.h:68
string filename
Definition: emthickness.cpp:34
Definition: EdbEDAUtil.h:78
EdbVertex * CalcVertex(TObjArray *segments)
Definition: EdbEDAUtil.C:282
double CalcIP(EdbSegP *s, double x, double y, double z)
Definition: EdbEDAUtil.C:85
#define NULL
Definition: nidaqmx.h:84