Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
hdv_debugerframe.h
Go to the documentation of this file.
1 
2 #ifndef _HDV_DEBUGERFRAME_H_
3 #define _HDV_DEBUGERFRAME_H_
4 
5 // This class is made into a ROOT dictionary ala rootcint.
6 // Therefore, do NOT include anything Hall-D specific here.
7 // It is OK to do that in the .cc file, just not here in the
8 // header.
9 
10 #include <iostream>
11 #include <cmath>
12 #include <string>
13 #include <vector>
14 #include <map>
15 
16 #include <TGClient.h>
17 #include <TGButton.h>
18 #include <TCanvas.h>
19 #include <TText.h>
20 #include <TRootEmbeddedCanvas.h>
21 #include <TTUBE.h>
22 #include <TNode.h>
23 #include <TGComboBox.h>
24 #include <TPolyLine.h>
25 #include <TEllipse.h>
26 #include <TMarker.h>
27 #include <TVector3.h>
28 #include <TGLabel.h>
29 #include <TTimer.h>
30 #include <TG3DLine.h>
31 
32 
33 class hdv_mainframe;
34 class DKinematicData;
35 class DTrackWireBased;
36 class DTrackTimeBased;
37 
38 #if !(defined(__CINT__) || defined(__CLING__))
39 #include "hdv_mainframe.h"
40 #include <PID/DKinematicData.h>
43 #endif
44 
45 #define MaxWireTracks 21
46 #define MaxTimeTracks 21
47 
48 class hdv_debugerframe:public TGMainFrame {
49 
50  public:
51  hdv_debugerframe(hdv_mainframe *hdvmf, const TGWindow *p, UInt_t w, UInt_t h);
52  virtual ~hdv_debugerframe(){};
53 
54  void DoDone(void);
55  void UpdateTrackLabels();
56  TGHorizontalFrame *topframe;
57  TGHorizontalFrame *mid1frame;
58  TGHorizontalFrame *mid2frame;
59  TGHorizontalFrame *botframe;
60 
61  TGGroupFrame *hitdrawopts ;
62  TGGroupFrame *hitdrawoptsWB ;
63  TGGroupFrame *hitdrawoptsTB ;
64  TGGroupFrame *trackinfo;
65  TGGroupFrame *trackinfoWB ;
66  TGGroupFrame *trackinfoTB ;
67 
68  TGTextButton *done ;
69 
70  Int_t GetNTrCand(void) {return NTrCand;}
71  Int_t GetNTrWB(void) {return NTrWireBased;}
72  Int_t GetNTrTB(void) {return NTrTimeBased;}
73  void SetNTrCand(Int_t d) { NTrCand = d;}
74  void SetNTrTimeBased(Int_t d) { NTrTimeBased = d;}
75  void SetNTrWireBased(Int_t d) { NTrWireBased = d;}
76  void SetTrackCandidates(vector<const DKinematicData*> d) {TrackCandidates=d;}
77  void SetTrackWireBased(vector<const DTrackWireBased*> d) {subTrackWireBased=d;}
78  void SetTrackTimeBased(vector<const DTrackTimeBased*> d) {subTrackTimeBased=d;}
79  void SetUpMid1Frame();
80  void SetUpMid2Frame();
81 
82  private:
83 
86  Int_t NTrCand;
87  Int_t NTrTimeBased;
88  Int_t NTrWireBased;
89  vector<const DKinematicData*> TrackCandidates;
90  vector<const DTrackWireBased*> subTrackWireBased;
91  vector<const DTrackTimeBased*> subTrackTimeBased;
92 
93  map<string, TGVerticalFrame *> tf;
94  map<string, vector<TGLabel*> > candlabs;
95 
96  map<string, TGVerticalFrame *> tfWB;
97  map<string, vector<TGLabel*> > wblabs;
98 
99  map<string, TGVerticalFrame *> tfTB;
100  map<string, vector<TGLabel*> > tblabs;
101 
103  map<string, TGCheckButton*> checkbuttons;
104 
105  ClassDef(hdv_debugerframe,1)
106  };
107 
108 // The following line is supposed to avoid the warning messages about:
109 // "dereferencing type-punned pointer will break strict-aliasing rules"
110 #if (defined(__CINT__) || defined(__CLING__))
111 
112 #pragma link C++ class hdv_debugerframe+;
113 #endif
114 
115 
116 
117 #endif //_HDV_DEBUGERFRAME_H_
void SetNTrWireBased(Int_t d)
void SetNTrCand(Int_t d)
map< string, vector< TGLabel * > > tblabs
map< string, TGCheckButton * > checkbuttons
virtual ~hdv_debugerframe()
vector< const DTrackTimeBased * > subTrackTimeBased
Int_t GetNTrTB(void)
hdv_debugerframe(hdv_mainframe *hdvmf, const TGWindow *p, UInt_t w, UInt_t h)
TGGroupFrame * hitdrawoptsTB
void SetNTrTimeBased(Int_t d)
map< string, TGVerticalFrame * > tf
TGGroupFrame * trackinfoTB
TGGroupFrame * hitdrawopts
TGGroupFrame * hitdrawoptsWB
map< string, vector< TGLabel * > > candlabs
vector< const DKinematicData * > TrackCandidates
map< string, TGVerticalFrame * > tfTB
Int_t GetNTrCand(void)
TGHorizontalFrame * mid2frame
TGHorizontalFrame * mid1frame
void SetTrackWireBased(vector< const DTrackWireBased * > d)
TGGroupFrame * trackinfoWB
vector< const DTrackWireBased * > subTrackWireBased
TGHorizontalFrame * topframe
void SetTrackTimeBased(vector< const DTrackTimeBased * > d)
TGHorizontalFrame * botframe
Int_t GetNTrWB(void)
map< string, TGVerticalFrame * > tfWB
TGGroupFrame * trackinfo
map< string, vector< TGLabel * > > wblabs
TGTextButton * done
void SetTrackCandidates(vector< const DKinematicData * > d)
hdv_mainframe * hdvmf