ROOT logo
#ifndef __EDGUI__
#define __EDGUI__

#include "TObject.h"
#include "TObjArray.h"
#include "GuiTypes.h"

#include "TRootBrowser.h"
#include "TString.h"
#include "TSystem.h"

#include "TEveManager.h"
#include "TEveBrowser.h"
#include "TEveGeoNode.h"

#include "TGFrame.h"
#include "TGButton.h"
#include "TGLabel.h"
#include "TGNumberEntry.h"
#include "TGColorSelect.h"


//----------------------------------------------------------------
class HEDColorDef : public TObject {

private:
static HEDColorDef* gEDColorDef;

    HEDColorDef(){;}
public:

    ~HEDColorDef(){;}

    TObjArray volSEC;
    TObjArray volRICH;
    TObjArray volMDC;
    TObjArray volTOF;
    TObjArray volRPC;
    TObjArray volSHOWER;
    TObjArray volWALL;
    TObjArray volCOILS;
    TObjArray volFRAMES;

    TObjArray nodesMDC;
    TObjArray nodesTOF;
    TObjArray nodesRPC;
    TObjArray nodesSHOWER;
    TObjArray nodesWALL;

    static TEveGeoTopNode* gGeoTopNode;


    static Int_t colMDC[4];
    static Int_t colTOF;
    static Int_t colRPC;
    static Int_t colSHOWER;
    static Int_t colRICH;
    static Int_t colWALL;
    static Int_t colFRAMES;
    static Int_t colCOILS;

    static Int_t transMDC[4];
    static Int_t transTOF;
    static Int_t transRPC;
    static Int_t transSHOWER;
    static Int_t transRICH;
    static Int_t transWALL;
    static Int_t transFRAMES;
    static Int_t transCOILS;

    static  HEDColorDef* getEDColorDef(){
	if(gEDColorDef ==0) {
	    gEDColorDef = new HEDColorDef();
            gEDColorDef->setDefault();
	}
        return gEDColorDef;
    }
    static void  setDefault(){

	colMDC[0] = kRed;
	colMDC[1] = kRed;
	colMDC[2] = kRed;
	colMDC[3] = kRed;
        colTOF    = kGreen;
        colRPC    = kBlue;
        colSHOWER = kMagenta;
        colRICH   = kGray;
        colWALL   = kGray;
        colFRAMES = kYellow;
	colCOILS  = kGray;

	transMDC[0] = 60;
        transMDC[1] = 60;
        transMDC[2] = 60;
        transMDC[3] = 60;
        transTOF    = 60;
        transRPC    = 85;
        transSHOWER = 60;
        transRICH   = 60;
        transWALL   = 60;
        transFRAMES = 60;
	transCOILS  = 60;
    }
    void showSec   (Bool_t show = kTRUE,Int_t sec =-1);
    void showCoils (Bool_t show = kTRUE);
    void showFrames(Bool_t show = kTRUE);
    void showWall  (Bool_t show = kTRUE);
    void showRich  (Bool_t show = kTRUE);
    void showMdc   (Bool_t show = kTRUE, Int_t sec = -1, Int_t mod = -1);
    void showTof   (Bool_t show = kTRUE, Int_t sec = -1);
    void showRpc   (Bool_t show = kTRUE, Int_t sec = -1);
    void showShower(Bool_t show = kTRUE, Int_t sec = -1);

    void colCoils (Pixel_t pixel,Int_t trans = -1);
    void colFrames(Pixel_t pixel,Int_t trans = -1);
    void colRich  (Pixel_t pixel,Int_t trans = -1);
    void colMdc   (Pixel_t pixel,Int_t trans = -1,Int_t mod =-1);
    void colTof   (Pixel_t pixel,Int_t trans = -1);
    void colRpc   (Pixel_t pixel,Int_t trans = -1);
    void colShower(Pixel_t pixel,Int_t trans = -1);
    void colWall  (Pixel_t pixel,Int_t trans = -1);


  ClassDef(HEDColorDef,0)
};
//----------------------------------------------------------------

//----------------------------------------------------------------
class HEDNumberLabeled : public TGHorizontalFrame {

protected:
   TGNumberEntry *fEntry;  //! pointer to element to get the numbers

public:
   HEDNumberLabeled(const TGWindow *p, const char *name) : TGHorizontalFrame(p)
   {
      fEntry = new TGNumberEntry(this, 0, 6, -1, TGNumberFormat::kNESInteger);
      AddFrame(fEntry, new TGLayoutHints(kLHintsLeft));
      TGLabel *label = new TGLabel(this, name);
      AddFrame(label, new TGLayoutHints(kLHintsLeft, 10));
   }
   ~HEDNumberLabeled(){;}

   TGTextEntry*   GetEntry()         const { return fEntry->GetNumberEntry(); }
   TGNumberEntry* GetTGNumberEntry() const { return fEntry; }

   ClassDef(HEDNumberLabeled, 0)
};
//----------------------------------------------------------------


//----------------------------------------------------------------
class HEDIDList {

private:
   Int_t nID;   //! creates unique widget's IDs

public:
   HEDIDList() : nID(0) {}
   ~HEDIDList() {}
   Int_t GetUnID(void) { return ++nID; }
};
//----------------------------------------------------------------


//----------------------------------------------------------------
class HEDSetup : public TGMainFrame {

private:

    static  HEDSetup* gEDSetup;    //!

    HEDSetup(const TGWindow *p, UInt_t w, UInt_t h);
public:

    static HEDSetup*  getEDSetup(const TGWindow *p=0, UInt_t w=0, UInt_t h=0){
	if(gEDSetup == 0) {
               gEDSetup = new HEDSetup(p,w,h);
	}
        return gEDSetup;
    }

    TGCheckButton       *fCheckSector[6]; //! Check buttons Sector selection
    TGCheckButton       *fCheckFRAMES;    //! Check buttons show FRAMES
    TGCheckButton       *fCheckCOILS;     //! Check buttons show COLIS
    TGCheckButton       *fCheckRICH;      //! Check buttons show RICH
    TGCheckButton       *fCheckMDC[4];    //! Check buttons show MDC
    TGCheckButton       *fCheckTOF;       //! Check buttons show TOF
    TGCheckButton       *fCheckRPC;       //! Check buttons show RPC
    TGCheckButton       *fCheckSHOWER;    //! Check buttons show SHOWER
    TGCheckButton       *fCheckWALL;      //! Check buttons show WALL

    TGTextButton        *fNext;           //! call nextEvent() on click text button
    TGTextButton        *fNextLoop;       //! call nextEventLoop() on click text button
    TGTextButton        *fRedraw;         //! call reDraw() on click text button
    TGCheckButton       *fCheckTimed;     //! run nextEvent() with timer
    HEDNumberLabeled    *fNumberLoopTime; //! loop time in seconds

    TGCheckButton       *fCheckMDCMod[6][4]; //! swich MDC modules
    TGCheckButton       *fCheckTOFSec[6];    //! swich TOF sectors
    TGCheckButton       *fCheckRPCSec[6];    //! swich RPC    sectors
    TGCheckButton       *fCheckSHOWERSec[6]; //! swich SHOWER sectors
    HEDIDList           IDs;                 //! Widget IDs generator

    TGColorSelect*      colFRAMES;
    TGColorSelect*      colCOILS;
    TGColorSelect*      colRICH;
    TGColorSelect*      colMDC[4];
    TGColorSelect*      colTOF;
    TGColorSelect*      colRPC;
    TGColorSelect*      colSHOWER;
    TGColorSelect*      colWALL;

    TGNumberEntry*      transFRAMES;
    TGNumberEntry*      transCOILS;
    TGNumberEntry*      transRICH;
    TGNumberEntry*      transMDC[4];
    TGNumberEntry*      transTOF;
    TGNumberEntry*      transRPC;
    TGNumberEntry*      transSHOWER;
    TGNumberEntry*      transWALL;

    virtual ~HEDSetup();
    void reDraw();
    ClassDef(HEDSetup, 0)
};
//----------------------------------------------------------------



#endif  // GUI definition







 hedgui.h:1
 hedgui.h:2
 hedgui.h:3
 hedgui.h:4
 hedgui.h:5
 hedgui.h:6
 hedgui.h:7
 hedgui.h:8
 hedgui.h:9
 hedgui.h:10
 hedgui.h:11
 hedgui.h:12
 hedgui.h:13
 hedgui.h:14
 hedgui.h:15
 hedgui.h:16
 hedgui.h:17
 hedgui.h:18
 hedgui.h:19
 hedgui.h:20
 hedgui.h:21
 hedgui.h:22
 hedgui.h:23
 hedgui.h:24
 hedgui.h:25
 hedgui.h:26
 hedgui.h:27
 hedgui.h:28
 hedgui.h:29
 hedgui.h:30
 hedgui.h:31
 hedgui.h:32
 hedgui.h:33
 hedgui.h:34
 hedgui.h:35
 hedgui.h:36
 hedgui.h:37
 hedgui.h:38
 hedgui.h:39
 hedgui.h:40
 hedgui.h:41
 hedgui.h:42
 hedgui.h:43
 hedgui.h:44
 hedgui.h:45
 hedgui.h:46
 hedgui.h:47
 hedgui.h:48
 hedgui.h:49
 hedgui.h:50
 hedgui.h:51
 hedgui.h:52
 hedgui.h:53
 hedgui.h:54
 hedgui.h:55
 hedgui.h:56
 hedgui.h:57
 hedgui.h:58
 hedgui.h:59
 hedgui.h:60
 hedgui.h:61
 hedgui.h:62
 hedgui.h:63
 hedgui.h:64
 hedgui.h:65
 hedgui.h:66
 hedgui.h:67
 hedgui.h:68
 hedgui.h:69
 hedgui.h:70
 hedgui.h:71
 hedgui.h:72
 hedgui.h:73
 hedgui.h:74
 hedgui.h:75
 hedgui.h:76
 hedgui.h:77
 hedgui.h:78
 hedgui.h:79
 hedgui.h:80
 hedgui.h:81
 hedgui.h:82
 hedgui.h:83
 hedgui.h:84
 hedgui.h:85
 hedgui.h:86
 hedgui.h:87
 hedgui.h:88
 hedgui.h:89
 hedgui.h:90
 hedgui.h:91
 hedgui.h:92
 hedgui.h:93
 hedgui.h:94
 hedgui.h:95
 hedgui.h:96
 hedgui.h:97
 hedgui.h:98
 hedgui.h:99
 hedgui.h:100
 hedgui.h:101
 hedgui.h:102
 hedgui.h:103
 hedgui.h:104
 hedgui.h:105
 hedgui.h:106
 hedgui.h:107
 hedgui.h:108
 hedgui.h:109
 hedgui.h:110
 hedgui.h:111
 hedgui.h:112
 hedgui.h:113
 hedgui.h:114
 hedgui.h:115
 hedgui.h:116
 hedgui.h:117
 hedgui.h:118
 hedgui.h:119
 hedgui.h:120
 hedgui.h:121
 hedgui.h:122
 hedgui.h:123
 hedgui.h:124
 hedgui.h:125
 hedgui.h:126
 hedgui.h:127
 hedgui.h:128
 hedgui.h:129
 hedgui.h:130
 hedgui.h:131
 hedgui.h:132
 hedgui.h:133
 hedgui.h:134
 hedgui.h:135
 hedgui.h:136
 hedgui.h:137
 hedgui.h:138
 hedgui.h:139
 hedgui.h:140
 hedgui.h:141
 hedgui.h:142
 hedgui.h:143
 hedgui.h:144
 hedgui.h:145
 hedgui.h:146
 hedgui.h:147
 hedgui.h:148
 hedgui.h:149
 hedgui.h:150
 hedgui.h:151
 hedgui.h:152
 hedgui.h:153
 hedgui.h:154
 hedgui.h:155
 hedgui.h:156
 hedgui.h:157
 hedgui.h:158
 hedgui.h:159
 hedgui.h:160
 hedgui.h:161
 hedgui.h:162
 hedgui.h:163
 hedgui.h:164
 hedgui.h:165
 hedgui.h:166
 hedgui.h:167
 hedgui.h:168
 hedgui.h:169
 hedgui.h:170
 hedgui.h:171
 hedgui.h:172
 hedgui.h:173
 hedgui.h:174
 hedgui.h:175
 hedgui.h:176
 hedgui.h:177
 hedgui.h:178
 hedgui.h:179
 hedgui.h:180
 hedgui.h:181
 hedgui.h:182
 hedgui.h:183
 hedgui.h:184
 hedgui.h:185
 hedgui.h:186
 hedgui.h:187
 hedgui.h:188
 hedgui.h:189
 hedgui.h:190
 hedgui.h:191
 hedgui.h:192
 hedgui.h:193
 hedgui.h:194
 hedgui.h:195
 hedgui.h:196
 hedgui.h:197
 hedgui.h:198
 hedgui.h:199
 hedgui.h:200
 hedgui.h:201
 hedgui.h:202
 hedgui.h:203
 hedgui.h:204
 hedgui.h:205
 hedgui.h:206
 hedgui.h:207
 hedgui.h:208
 hedgui.h:209
 hedgui.h:210
 hedgui.h:211
 hedgui.h:212
 hedgui.h:213
 hedgui.h:214
 hedgui.h:215
 hedgui.h:216
 hedgui.h:217
 hedgui.h:218
 hedgui.h:219
 hedgui.h:220
 hedgui.h:221
 hedgui.h:222
 hedgui.h:223
 hedgui.h:224
 hedgui.h:225
 hedgui.h:226
 hedgui.h:227
 hedgui.h:228
 hedgui.h:229
 hedgui.h:230
 hedgui.h:231
 hedgui.h:232
 hedgui.h:233
 hedgui.h:234
 hedgui.h:235
 hedgui.h:236
 hedgui.h:237
 hedgui.h:238