BOSS 7.0.1
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/BesVisClient/BesVisClient/BesClient.h
Go to the documentation of this file.
1#ifndef BES_Client_H
2#define BES_Client_H
3
4#include <stdio.h>
5#include <unistd.h>
6#include <stdlib.h>
7#include <sys/sem.h>
8#include <sys/types.h>
9#include <sys/ipc.h>
10//#include <wait.h>
11#include <string.h>
12
13#include <TSystem.h>
14#include <TGFrame.h>
15#include <TGeometry.h>
16#include <TGNumberEntry.h>
17#include <TViewerX3D.h>
18#include <TTimer.h>
19#include <TASImage.h>
20
21
22#include <stdio.h>
23#include <stdlib.h>
24
25#include "BesVisLib/BesGMenuBar.h"
26#include "BesVisLib/BesGPictureButton.h"
27#include "BesVisLib/BesVisDisplay.h"
28#include "BesVisLib/BesEvent.h"
29#include "RootEventData/TRecTrackEvent.h"
30#include "RootEventData/TDigiEvent.h"
31#include "RootEventData/TTrigEvent.h"
32#include "RootEventData/TRecEvTime.h"
33#include "RootEventData/TRecEmcShower.h"
34
35// semphore
36union semun{
37 int val;
38 struct semid_ds *buf;
39 ushort *array;
40};
41
42//struct sembuf acquire = {0, -1, SEM_UNDO};
43//struct sembuf release = {0, 1, SEM_UNDO};
44
47
48
49// BesVis GUI command IDs
50#ifndef BES_EZCommand
51#define BES_EZCommand
64};
65#endif
66
67// Bes button command IDs
68#ifndef BES_EZButtons
69#define BES_EZButtons
164#endif
165
166// BesVis running modes
167#ifndef BES_EZMode
168#define BES_EZMode
169enum EZMode {
170 kModeOnline = BIT(0),
171 kModeFile = BIT(1),
172 kModeDown = BIT(2),
173 kModeBes = BIT(3),
174 kModePR = BIT(4)
176#endif
177
178#ifndef BES_EZMenuViewOption
179#define BES_EZMenuViewOption
232 //kM_Mdc_TOverflow_Global,
241#endif
242
243class TList;
244class TRootEmbeddedCanvas;
245class TApplication;
246class TInterpreter;
247class TFile;
248class TTimer;
249class TBranch;
250class TTree;
251class TGPopupMenu;
252class TGStatusBar;
253class TGHorizontal3DLine;
254class TGLayoutHints;
255class TGMenuBar;
256class TGNumberEntry;
257class TGNumberFormat;
258class TGLabel;
259class TGHButtonGroup;
260class TGRadioButton;
261class TGCheckButton;
262class TGTextButton;
263class TGTextBuffer;
264class TGTextEntry;
265class TGHProgressBar;
266class TGButton;
267class TGPictureButton;
268class TGFileInfo;
269class TGFileDialog;
270class TGMsgBox;
271class TGGroupFrame;
272class TGTab;
273class TGVSplitter;
274class TGCanvas;
275class TGListTree;
276class TGListTreeItem;
277class TGHSlider;
278class TGVSlider;
279class TCanvas;
280class TView;
281class TGListTreeItem;
282
283class BesClient : public TGMainFrame {
284
285 private:
286 runStatus f_runStatus;
287 TGeometry *fGeometry; // Bes geometry
288 TFile *fGeoFile; // ROOT geometry file contains volBes
289 TFile *fEventFile; // Current event file
290 TTree *fEventTree; // Current event tree
291 BesEvent *fEvent; // Current Bes event
292 TEvtHeader *fEvtHeader;
293 TRecEvTime *fRecEvTime;
294 //TTrigEvent *fTrigEvent;
295 TDigiEvent *fDigiEvent;
296 TRecTrackEvent *fRecEvent_1;
297 TRecMdcTrack *recTrack1;
298 TRecMucTrack *muctrk;
299 TRecTofTrack *tofTrack;
300 //TRecMdcKalTrack *kalTrack;
301 TRecMdcHit *mdchit;
302 TRecEmcShower *emcshower;
303
304
305 TGLayoutHints *fMenuBarLayout; // Menu bar layout
306 TGLayoutHints *fMenuBarFirstItemLayout; // First Item popup menu layout
307 TGLayoutHints *fMenuBarItemLayout; // Item popup menu layout
308 TGLayoutHints *fMenuBarLastItemLayout; // Last Item popup menu layout
309 TGLayoutHints *fECLayout; // Embedded canvas layout
310
311 BesGMenuBar *fMenuBar; // Menu bar
312
313 TGPopupMenu *fMenuFile; // File menu
314 TGPopupMenu *fMenuEdit; // Edit menu
315 TGPopupMenu *fMenuView; // View menu
316 TGPopupMenu *fMenuHelp; // Help menu
317
318 TGPopupMenu *fMenuViewOptionHeader;
319 TGPopupMenu *fMenuViewOptionMdc;
320 TGPopupMenu *fMenuViewOptionTof;
321 TGPopupMenu *fMenuViewOptionEmc;
322 TGPopupMenu *fMenuViewOptionMuc;
323 TGPopupMenu *fMenuViewOptionFull3D;
324 TGPopupMenu *fMenuViewOptionOthers;
325 TGPopupMenu *fMenuViewOptionMdcHits;
326 TGPopupMenu *fMenuViewOptionTofHits;
327 TGPopupMenu *fMenuViewOptionEmcHits;
328 TGPopupMenu *fMenuViewOptionMucHits;
329 TGPopupMenu *fMenuViewOptionTracks;
330
331 TGLayoutHints *fUpButtonBarFirstItemLayout; // Up button bar first button layout
332 TGLayoutHints *fUpButtonBarItemLayout; // Up button bar button layout
333 TGLayoutHints *fUpButtonBarLastItemLayout; // Up button bar last button layout
334 TGCompositeFrame *fUpButtonBarFrame; // Up button bar frame
335
336 static const int kNUpSplitter = 4;
337 BesGPictureButton *fUpButtonSplitter[kNUpSplitter]; // Up button bar splitter
338 BesGPictureButton *fLoadGeoFileButton; // load geometry file
339 BesGPictureButton *fOpenEventFileButton; // open event file
340 BesGPictureButton *fSaveGeoAsButton; // save geometry as root file
341 BesGPictureButton *fSavePicAsButton; // save picture as
342 BesGPictureButton *fSavePicAsPSButton; // save picture as pdf
343 static const int kNCursorState = 2;
344 BesGPictureButton *fRefreshButton; // Refresh
345 BesGPictureButton *fResetCurrentButton; // Reset current pad
346 BesGPictureButton *fResetAllButton; // Reset all pad
347 BesGPictureButton *fCursorButton[kNCursorState]; // cursor state, pick or hand
348 BesGPictureButton *fZoomInButton; // ZoomIn
349 BesGPictureButton *fZoomOutButton; // ZoomOut
350 TGNumberEntryField *fZoomRatioNumber; // ZoomRatio number
351 BesGPictureButton *fZoomRatioPercentButton; // "%" picture
352 BesGPictureButton *fSwitchDisplayModeButton; // button to switch among display modes
353 BesGPictureButton *fSetHomeButton; // Set home position
354 BesGPictureButton *fGoHomeButton; // Go to home position
355 BesGPictureButton *fSaveMyConfigButton; // Save my style
356 BesGPictureButton *fLoadMyConfigButton; // Load my style
357 BesGPictureButton *fPaletteButton; // Display palette axis
358 BesGPictureButton *fHelpButton; // Help
359
360 TGLayoutHints *fDisplayModeBarItemLayout; // Display mode bar button layout
361 TGCompositeFrame *fDisplayModeBarFrame; // Display mode bar frame
362 static const int kNDisplayMode = 5;
363 BesGPictureButton *fDisplayModeButton[kNDisplayMode]; // button to switch among display modes
364
365 TGLayoutHints *fToolBarFirstItemLayout; // Tool bar first button layout
366 TGLayoutHints *fToolBarItemLayout; // Tool bar button layout
367 TGLayoutHints *fToolBarLastItemLayout; // Tool bar last button layout
368 TGCompositeFrame *fToolBarFrame; // Tool bar frame
369
370 static const int kNToolSplitter = 4;
371 BesGPictureButton *fToolButtonSplitter[kNToolSplitter]; // Tool button bar splitter
372 BesGPictureButton *fSwitchPadButton; // button to switch among pads
373 BesGPictureButton *fShowInfoButton; // Show info or not
374 BesGPictureButton *fShowAxisButton; // Show axis or not
375 BesGPictureButton *fFishEyeViewButton; // FishEye view
376 BesGPictureButton *fParallelViewButton; // Parallel view
377 BesGPictureButton *fPerspectiveViewButton; // Perspective view
378 BesGPictureButton *fX3DButton; // X3D view
379 BesGPictureButton *fOpenGLButton; // OpenGL view
380
381 TGCanvas *fEventListView; // Canvas for event list tree
382 TRootEmbeddedCanvas *fEmbeddedCanvas; // Embedded Canvas
383 TCanvas *fCanvas;
384 BesVisDisplay *fDisplay;
385
386 TGVerticalFrame *fV1; // Splitter for tabs
387
388 TGTab *fTabs; // Tabs for event
389
390 TGListTree *fEventListTree; // Event list tree
391 TGListTreeItem *fItem; // Active event list tree item
392 TGListTreeItem *fRunItem; // Active run list tree item
393
394
395 TGCompositeFrame *fEventDownFrame; // tab fame for download mode
396 TGCompositeFrame *fEventControlFrame; // Frame for event control
397 TGCompositeFrame *fEventControlTextFrame; // Frame for label "Event Control"
398 TGCompositeFrame *fEventNavFrame; // Frame for Event navigation
399 TGCompositeFrame *fEventPlayTextFrame; // Frame for label "Event Play"
400 TGCompositeFrame *fEventPlayButtonFrame; // Frame for buttons "prev, next, play, stop"
401 TGCompositeFrame *fEventPlaySpeedFrame; // Frame for set event play speed
402 TGCompositeFrame *fEventListFrame; // Frame for event list browser
403 TGCompositeFrame *fEventListTextFrame; // Frame for label "Event file list"
404 TGCompositeFrame *fEventListContentFrame; // Frame for event list content
405
406 TGCompositeFrame *fAutoFrame; // Frame for auto control
407 TGCompositeFrame *fAutoTextFrame; // Frame for label "Auto Control"
408
409 TGCompositeFrame *fViewFrame; // Frame for view control
410 TGCompositeFrame *fViewTextFrame; // Frame for label "View Control"
411 TGCompositeFrame *fViewContentFrame; // Frame for view content
412 TGCompositeFrame *fViewContent1Frame; // Frame for view content first line
413 TGCompositeFrame *fViewContent2Frame; // Frame for view content seconde line
414 TGCompositeFrame *fViewContent3Frame; // Frame for view content third line
415 TGCompositeFrame *fViewAngleFrame; // Frame for view angles
416 TGCompositeFrame *fViewAngleThetaFrame; // Frame for view theta
417 TGCompositeFrame *fViewAnglePhiFrame; // Frame for view phi
418 TGCompositeFrame *fViewAnglePsiFrame; // Frame for view psi
419
420 TGNumberEntry *fNumEntryRunNo; // Bes input of run number
421 TGNumberEntry *fNumEntryEventNo; // Bes input of event number
422 TGNumberEntry *fNumEntryEventPlaySpeed; // event play speed number
423 //TGNumberEntry *fBesSamplePos; // Bes input of sample position
424
425 TGLabel *fEventControlTextLabel; // Label "Event control"
426 TGLabel *fBesLabelRun; // Label "Run : "
427 TGLabel *fBesLabelEvent; // Label "Event : "
428 TGLabel *fEventPlayTextLabel; // Label "Event Play"
429 TGLabel *fEventPlaySpeedLabel; // Label "Play Speed : "
430 TGLabel *fEventListTextLabel; // Label "Event file list"
431 TGLabel *fViewTextLabel; // Label "View control"
432 TGLabel *fAutoTextLabel; // Label "Auto control"
433
434 TGHSlider *fEventPlaySlider; // slider for event play
435 BesGPictureButton *fPrevEventButton; // next event button
436 BesGPictureButton *fNextEventButton; // prev event button
437 BesGPictureButton *fPlayEventButton; // next event button
438 BesGPictureButton *fFirstEventButton; // prev event button
439
440 BesGPictureButton *fViewResetAngleButton; // View reset angle button
441 BesGPictureButton *fViewCounterClockWiseButton; // View CounterClockWise button
442 BesGPictureButton *fViewClockWiseButton; // View ClockWise button
443 BesGPictureButton *fViewMoveUpButton; // View MoveUp button
444 BesGPictureButton *fViewMoveLeftButton; // View MoveLeft button
445 BesGPictureButton *fViewMoveRightButton; // View MoveRight button
446 BesGPictureButton *fViewMoveDownButton; // View MoveDown button
447 BesGPictureButton *fViewMoveCenterButton; // View MoveCenter button
448
449 BesGPictureButton *fViewAngleThetaPlusButton; // View AngleTheta + button
450 BesGPictureButton *fViewAngleThetaMinusButton; // View AngleTheta - button
451 TGVSlider *fViewAngleThetaSlider; // View AngleTheta slider
452 TGNumberEntryField *fViewAngleThetaNumber; // View AngleTheta number
453 TGLabel *fViewAngleThetaLabel; // Label "Theta"
454
455 BesGPictureButton *fViewAnglePhiPlusButton; // View AnglePhi + button
456 BesGPictureButton *fViewAnglePhiMinusButton; // View AnglePhi - button
457 TGVSlider *fViewAnglePhiSlider; // View AnglePhi slider
458 TGNumberEntryField *fViewAnglePhiNumber; // View AnglePhi number
459 TGLabel *fViewAnglePhiLabel; // Label "Phi"
460
461 BesGPictureButton *fViewAnglePsiPlusButton; // View AnglePsi + button
462 BesGPictureButton *fViewAnglePsiMinusButton; // View AnglePsi - button
463 TGVSlider *fViewAnglePsiSlider; // View AnglePsi slider
464 TGNumberEntryField *fViewAnglePsiNumber; // View AnglePsi number
465 TGLabel *fViewAnglePsiLabel; // Label "Psi"
466
467 TGCompositeFrame *fRotateStepFrame; // Frame for RotateStep
468 TGLabel *fRotateStepLabel; // Label "Deg"
469 TGNumberEntryField *fNumEntryRotateStep; // Rotate step
470 TGLabel *fRotateStepUnitLabel; // Label "Deg"
471
472 TGGroupFrame *fFrameAutoRotate; // Frame for AutoRotate
473 TGCheckButton *fChkBtnAutoRotate; // CheckButton AutoRotate;
474
475 TGCompositeFrame *fRotateSpeedFrame; // Frame for RotateSpeed
476 TGNumberEntryField *fNumEntryRotateSpeed; // Auto Rotate speed number
477 TGLabel *fRotateSpeedLabel; // Label "Deg/Sec"
478
479 TGCompositeFrame *fRotateFPSFrame; // Frame for RotateFPS
480 TGNumberEntry *fNumEntryRotateFPS; // Auto Rotate fps number
481 TGLabel *fRotateFPSLabel; // Label "fps"
482
483
484 TGStatusBar *fStatusBar; // Status bar
485
486 TGGroupFrame *fFrameHeader; // Frame for Header
487 TGGroupFrame *fFrameHits; // Frame for Hits
488 TGGroupFrame *fFrameTracks; // Frame for Tracks
489
490 TGGroupFrame *fFrameSubDetector;
491 //TGGroupFrame *fFrameMdc;
492 //TGGroupFrame *fFrameTof;
493 //TGGroupFrame *fFrameEmc;
494 //TGGroupFrame *fFrameMuc;
495 TGGroupFrame *fFrameOthers;
496
497 TGGroupFrame *fFrameMdcMatch; // Frame for TQMatch
498 TGGroupFrame *fFrameTofMatch; // Frame for TQMatch
499 TGGroupFrame *fFrameMagnetic; // Frame for magnetic field
500
501 TGHorizontalFrame *fTitleFrame; // Title frame
502 TGHorizontalFrame *fMainFrame; // Main frame
503
504 TGHorizontalFrame *fBesRunFrame; // Bes Run nr input frame
505 TGHorizontalFrame *fBesEventFrame; // Bes Event nr input frame
506
507 TGCheckButton *fChkBtnHeaderGlobal;
508
509 TGCheckButton *fChkBtnMdcHitsGlobal;
510 TGCheckButton *fChkBtnTofHitsGlobal;
511 TGCheckButton *fChkBtnTofHitsEast;
512 TGCheckButton *fChkBtnTofHitsBarrel;
513 TGCheckButton *fChkBtnTofHitsWest;
514 TGCheckButton *fChkBtnEmcHitsGlobal;
515 TGCheckButton *fChkBtnEmcHitsEast;
516 TGCheckButton *fChkBtnEmcHitsBarrel;
517 TGCheckButton *fChkBtnEmcHitsWest;
518 TGCheckButton *fChkBtnEmcHitsSide;
519 TGCheckButton *fChkBtnMucHitsGlobal;
520 TGCheckButton *fChkBtnMucHitsEast;
521 TGCheckButton *fChkBtnMucHitsBarrel;
522 TGCheckButton *fChkBtnMucHitsWest;
523
524 TGCheckButton *fChkBtnTracksGlobal;
525 TGCheckButton *fChkBtnTracksMdc;
526 TGCheckButton *fChkBtnTracksTof;
527 TGCheckButton *fChkBtnTracksEmc;
528 TGCheckButton *fChkBtnTracksMuc;
529 TGCheckButton *fChkBtnTracksExt;
530
531 TGCheckButton *fChkBtnMdcGlobal;
532 TGCheckButton *fChkBtnMdcTubes;
533 TGCheckButton *fChkBtnMdcWires;
534 TGCheckButton *fChkBtnTofGlobal;
535 TGCheckButton *fChkBtnTofEast;
536 TGCheckButton *fChkBtnTofBarrel;
537 TGCheckButton *fChkBtnTofWest;
538 TGCheckButton *fChkBtnEmcGlobal;
539 TGCheckButton *fChkBtnEmcEast;
540 TGCheckButton *fChkBtnEmcBarrel;
541 TGCheckButton *fChkBtnEmcWest;
542 TGCheckButton *fChkBtnEmcSide;
543 TGCheckButton *fChkBtnMucGlobal;
544 TGCheckButton *fChkBtnMucEast;
545 TGCheckButton *fChkBtnMucBarrel;
546 TGCheckButton *fChkBtnMucWest;
547 TGCheckButton *fChkBtnMucStrips;
548
549 TGCheckButton *fChkBtnBeamPipe;
550 TGCheckButton *fChkBtnZRPlaneOnXY;
551 TGCheckButton *fChkBtnAxis;
552
553 TGCheckButton *fChkBtnMdcTOverflowGlobal;
554 TGCheckButton *fChkBtnMdcQOverflowGlobal;
555 TGCheckButton *fChkBtnMdcTMatchGlobal;
556 TGCheckButton *fChkBtnMdcQMatchGlobal;
557 TGCheckButton *fChkBtnMdcColorfulWireGlobal;
558 TGCheckButton *fChkBtnMdcTimeSubEvTimeGlobal;
559 TGCheckButton *fChkBtnTofTMatchGlobal;
560 TGCheckButton *fChkBtnTofQMatchGlobal;
561
562 TGNumberEntry *fNumEntryMagnetic; // magnetic number
563
564 TString fBesVisPath;
565
566 Long64_t fBesRunNo; // run number of BES request
567 Long64_t fBesEventNo; // event number of BES request
568 Long64_t fCurrentEvent;
569 Int_t fEventPlaySpeed; // event play speed
570 Bool_t fAutoDisplayEvent; // auto display event
571 TTimer *fAutoDisplayEventTimer;
572
573 Double_t fMoveFactor; // factor of move
574 Double_t fRotateStep; // rotate angle in each step
575 Int_t fRotateFPS; // rotae fps, frame per second, 24? 10?
576 Double_t fRotateSpeed; // rotate angle per second, deg/sec
577 Bool_t fAutoRotate; // auto rotate flag
578 TTimer *fAutoRotateTimer; // auto rotate timer
579 Int_t fAutoRotateClockWise; // auto rotate clockwise flag
580 Int_t fAutoRotateTheta; // auto rotate theta flag
581 Int_t fAutoRotatePhi; // auto rotate phi flag
582 Int_t fAutoRotatePsi; // auto rotate psi flag
583
584 Int_t fViewer3DMode; // Mode of Viewer3D, 1:x3d, 2:OpenGL
585 //TViewerX3D *fx3d;
586 Double_t fViewThetaPreStep;
587 Double_t fViewPhiPreStep;
588
589 Double_t fHomeX[3], fHomeY[3]; // Home position of three pads
590
591 Int_t fWindowWidth; // zevis window width
592 Int_t fWindowHeight; // zevis window height
593
594 TList *fWidgets; // list to hold TGLayoutHints for destruction
595 TGLayoutHints *fLayout; // dummy TGLayoutHints;
596
597 // added by tianhl to add besvis to bossframework
598 TString f_evtFile;
599 TString f_geoFile;
600 Bool_t f_bossMode;
601 Int_t f_pid;
602 TString f_evtFile_1; //huangb add
603
604 private:
605 //void SetMdcTOverflow(Bool_t input);
606 void SetMdcQNotOverflow(Bool_t input);
607 void SetMdcTFire(Bool_t input);
608 void SetMdcQFire(Bool_t input);
609 void SetMdcColorfulWire(Bool_t input);
610 void SetMdcTimeSubEvTime(Bool_t input);
611 void SetTofTMatch(Bool_t input);
612 void SetTofQMatch(Bool_t input);
613
614 public:
615 BesClient(const TGWindow *p, const char* title, UInt_t width, UInt_t height, Option_t *option = "", Int_t argc = 0, char **argv = 0);
616 virtual ~BesClient();
617 virtual void InitLocal();
618 virtual void InitParameter();
619 virtual void InitConnections();
620
621 virtual void CreateWidget(const char* title, UInt_t width, UInt_t height);
622 virtual void CreateHorizontalRuler();
623 virtual void CreateMenuBar();
624 virtual void CreateUpButtonBar();
625 virtual void CreateDisplayModeBar();
626 virtual void CreateToolBar();
627 virtual void CreateTitleBar();
628 virtual void CreateStatusBar();
629 virtual void CreateMainFrame();
630 virtual void CreateCanvas();
631 virtual void CreateTabs();
632
633 virtual void HandleMenu(Int_t id);
634 virtual void HandleViewOptionMenu(Int_t id);
635 virtual void HandleError(const char* msg);
636 virtual void HandleInfoBar(const char* msg);
637 virtual void HandleStatusBar(const char* msg);
638 virtual void HandleButtons(Int_t id=-1);
639 virtual void HandleSliders(Int_t id);
640 virtual void HandleEventList(TGListTreeItem *entry, Int_t btn);
641 virtual void UpdateBesInputFields();
642
643 virtual void LoadGeoFile();
644 virtual void OpenGeoFile(TString filename);
645 virtual void SaveGeoAs();
646 virtual void OpenEventFile();
647 virtual void OpenEventFile(TString filename);
648 virtual void SavePicAs();
649 virtual void SavePicAsPS();
650 virtual void SetHome();
651 virtual void GoHome();
652 virtual void SaveMyConfig();
653 virtual void LoadMyConfig();
654 virtual void LoadMdcPalette();
655 virtual void Help();
656
658
659 virtual void X3D();
660 virtual void OpenGL();
661
662 virtual void Show();
663 virtual void CloseWindow();
664
665 virtual Bool_t GetEvent(Long64_t i);
666 virtual Bool_t GetRecEvent();
667 virtual Bool_t NextEvent();
668 virtual Bool_t PrevEvent();
669 virtual void AutoDisplayEvent();
671 virtual Bool_t FirstEvent();
672
673 virtual void RotateClockWise(int clockwise);
674 virtual void RotateTheta(int pn);
675 virtual void RotatePhi(int pn);
676 virtual void RotatePsi(int pn);
677 virtual void AutoRotate();
678 virtual void AutoRotateCommand();
679
680 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py, TObject *sel);
681 virtual void SetState(Int_t id = -1);
682 virtual void UpdateStatus();
683 virtual void UpdateAllView();
684 virtual void UpdateCurrentPad();
685 virtual void ChangeFocus();
686 virtual void ExecuteReturn();
687
688 virtual Pixmap_t GetPic(const char *file);
689 virtual Bool_t FileExists(TString fname);
690 virtual void SetRange(Double_t &input, Double_t min, Double_t max);
691
692 inline Long64_t GetBesRunNo() { return fBesRunNo; }
693 inline Long64_t GetBesEventNo() { return fBesEventNo; }
694 inline Int_t GetEventPlaySpeed() { return fEventPlaySpeed; }
695
696 inline Int_t GetRotateFPS() { return fRotateFPS; }
697 inline Double_t GetRotateSpeed() { return fRotateSpeed; }
698 inline Double_t GetRotateStep() { return fRotateStep; }
699 inline void SetRotateSpeed() { fRotateSpeed = fRotateStep * fRotateFPS; }
700 inline void SetRotateStep() { if (fRotateFPS != 0) fRotateStep = fRotateSpeed/fRotateFPS; else fRotateStep = 0.0; }
701
702 ClassDef(BesClient,0) // Bes client
703};
704
705#endif
char * file
Definition: DQA_TO_DB.cxx:15
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py, TObject *sel)
virtual void CreateStatusBar()
virtual void CreateUpButtonBar()
virtual Bool_t FileExists(TString fname)
virtual void RotateTheta(int pn)
virtual void HandleEventList(TGListTreeItem *entry, Int_t btn)
virtual void CreateWidget(const char *title, UInt_t width, UInt_t height)
virtual void SaveGeoAs()
virtual void UpdateAllView()
virtual Bool_t GetRecEvent()
BesClient(const TGWindow *p, const char *title, UInt_t width, UInt_t height, Option_t *option="", Int_t argc=0, char **argv=0)
virtual void OpenGeoFile(TString filename)
virtual void CreateMainFrame()
virtual void HandleError(const char *msg)
virtual void GoHome()
virtual void SetRange(Double_t &input, Double_t min, Double_t max)
virtual void OpenGL()
virtual void SetAllDisplayModeButtonUnHL()
virtual void Help()
virtual void LoadMyConfig()
virtual void UpdateStatus()
virtual void HandleMenu(Int_t id)
virtual void UpdateCurrentPad()
virtual void X3D()
virtual Bool_t FirstEvent()
virtual void LoadMdcPalette()
virtual Bool_t GetEvent(Long64_t i)
virtual void SavePicAs()
virtual void SaveMyConfig()
virtual void CreateCanvas()
virtual ~BesClient()
virtual void ExecuteReturn()
virtual void CreateDisplayModeBar()
virtual void HandleInfoBar(const char *msg)
virtual void HandleViewOptionMenu(Int_t id)
virtual void HandleStatusBar(const char *msg)
virtual void InitParameter()
virtual void RotateClockWise(int clockwise)
virtual void HandleButtons(Int_t id=-1)
virtual void InitConnections()
virtual void UpdateBesInputFields()
virtual Pixmap_t GetPic(const char *file)
virtual void AutoRotateCommand()
virtual Bool_t NextEvent()
virtual void RotatePhi(int pn)
virtual void CreateTabs()
virtual void SetHome()
virtual void AutoRotate()
virtual void ChangeFocus()
virtual Bool_t PrevEvent()
virtual void RotatePsi(int pn)
virtual void CloseWindow()
virtual void InitLocal()
virtual void AutoDisplayEventCommand()
virtual void HandleSliders(Int_t id)
virtual void SetState(Int_t id=-1)
virtual void OpenEventFile(TString filename)
virtual void CreateHorizontalRuler()
virtual void OpenEventFile()
virtual void AutoDisplayEvent()
virtual void Show()
virtual void SavePicAsPS()
virtual void CreateTitleBar()
virtual void LoadGeoFile()
virtual void CreateMenuBar()
virtual void CreateToolBar()