NSCL DDAS  1.0
Support for XIA DDAS at the NSCL
 All Classes Namespaces Files Functions Variables Macros Pages
TimingParamDialogue.h
1 // TimingParamDialogue.h
2 //
3 // A class defining the dialogue to control the timing
4 // parameters in the Pixie16 modules.
5 //
6 // Author : Jeromy Tompkins
7 //
8 
9 #ifndef TIMINGPARAMDIALOGUE_H_
10 #define TIMINGPARAMDIALOGUE_H_
11 
12 #include <iostream>
13 #include <iomanip>
14 #include "TImage.h"
15 #include "TGIcon.h"
16 #include "TGFrame.h"
17 #include "TGButton.h"
18 #include "TGNumberEntry.h"
19 #include "TGTextEntry.h"
20 #include "TGLabel.h"
21 #include "TG3DLine.h"
22 
23 #include "pixie16app_export.h"
24 
25 class TimingParamDialogue: public TGTransientFrame
26 {
27  private:
28  enum Commands
29  {
30  LOAD,
31  APPLY,
32  CANCEL,
33  MODNUMBER,
34  FILTER,
35  COPYBUTTON
36  };
37 
38  private:
39  TGHorizontalFrame* fHFrame;
40 
41  // Image data
42  TImage* fPicData;
43  TGIcon* fPic;
44 
45  // Frames and such for the Table
46  TGVerticalFrame* mn_vert;
47  TGHorizontalFrame* mn;
48  int Rows;
49  TGVerticalFrame **Column;
50  TGTextEntry *cl0;//label for the title of the column[0]
51  TGTextEntry **CLabel;//labels for the numeric columns
52  TGNumberEntryField ***NumEntry;//numeric entries [column][row],
53  //column[0] has the labels
54  TGTextEntry **Labels; //labels in the left most column
55 
56  int numModules;
57  TGNumberEntry *numericMod;
58  TGHorizontalFrame* Buttons ;
59 
60  public:
61  TimingParamDialogue(const TGWindow * p, const TGWindow * main, int NumModules=13);
62  virtual ~TimingParamDialogue();
63  Bool_t ProcessMessage (Long_t msg, Long_t parm1, Long_t parm2);
64  int change_values (Long_t mod);
65  int load_info (Long_t mod);
66  void SetModuleNumber(int moduleNr) {
67  modNumber = (short)moduleNr;
68  numericMod->SetIntNumber(modNumber);
69  load_info(modNumber);
70  };
71 
72  short int chanNumber;
73  short int modNumber;
74  TGNumberEntry* chanCopy;
75  bool Load_Once;
76  char tmp[10];
77  float tdelay,twidth;
78 
79  void UpdateChanCoincWidthColumn();
80 
81  protected:
82  void MakeTable(TGFrame* parent, int columns, int rows, int NumModules);
83  void DoCopy();
84 
85 };
86 
87 #endif /*TIMINGPARAMDIALOGUE_H_*/
Definition: TimingParamDialogue.h:26
Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
Definition: TimingParamDialogue.cpp:308