BOSS 7.0.2
BESIII Offline Software System
Loading...
Searching...
No Matches
EventDisplay/BesVisClient/BesVisClient-00-04-04/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
657 virtual void SetAllDisplayModeButtonUnHL();
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();
670 virtual void AutoDisplayEventCommand();
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
titledef title[20]
virtual void X3D()
Definition: BesClient.cxx:3301
virtual void GoHome()
Definition: BesClient.cxx:3155
virtual void CreateMainFrame()
Definition: BesClient.cxx:1024
virtual void CreateTitleBar()
Definition: BesClient.cxx:996
virtual void UpdateAllView()
Definition: BesClient.cxx:5175
virtual void HandleMenu(Int_t id)
Definition: BesClient.cxx:2253
virtual void SetAllDisplayModeButtonUnHL()
Definition: BesClient.cxx:3288
virtual void CreateToolBar()
Definition: BesClient.cxx:866
virtual void SavePicAsPS()
Definition: BesClient.cxx:3107
virtual void CreateDisplayModeBar()
Definition: BesClient.cxx:825
virtual void HandleSliders(Int_t id)
Definition: BesClient.cxx:5128
virtual void CreateTabs()
Definition: BesClient.cxx:1081
virtual void SaveMyConfig()
Definition: BesClient.cxx:3175
virtual void RotatePsi(int pn)
Definition: BesClient.cxx:3930
virtual void Show()
Definition: BesClient.cxx:2835
virtual void SetHome()
Definition: BesClient.cxx:3137
virtual void RotateClockWise(int clockwise)
Definition: BesClient.cxx:3871
virtual void CreateMenuBar()
Definition: BesClient.cxx:323
virtual Bool_t GetEvent(Long64_t i)
Definition: BesClient.cxx:3380
virtual void RotateTheta(int pn)
Definition: BesClient.cxx:3898
virtual ~BesClient()
Definition: BesClient.cxx:227
virtual void RotatePhi(int pn)
Definition: BesClient.cxx:3914
virtual void HandleViewOptionMenu(Int_t id)
Definition: BesClient.cxx:2303
virtual void OpenGL()
Definition: BesClient.cxx:3338
virtual void HandleEventList(TGListTreeItem *entry, Int_t btn)
Definition: BesClient.cxx:3946
virtual void OpenEventFile()
Definition: BesClient.cxx:2963
virtual void SavePicAs()
Definition: BesClient.cxx:3049
virtual void HandleStatusBar(const char *msg)
Definition: BesClient.cxx:2827
virtual Pixmap_t GetPic(const char *file)
Definition: BesClient.cxx:5414
virtual void AutoRotateCommand()
Definition: BesClient.cxx:3829
virtual void UpdateStatus()
Definition: BesClient.cxx:4307
virtual void CreateWidget(const char *title, UInt_t width, UInt_t height)
Definition: BesClient.cxx:240
virtual void CloseWindow()
Definition: BesClient.cxx:3368
virtual void CreateHorizontalRuler()
Definition: BesClient.cxx:312
virtual void InitConnections()
Definition: BesClient.cxx:2238
virtual void UpdateCurrentPad()
Definition: BesClient.cxx:5218
virtual void HandleError(const char *msg)
Definition: BesClient.cxx:2809
virtual void SaveGeoAs()
Definition: BesClient.cxx:2922
virtual void InitLocal()
Definition: BesClient.cxx:2162
virtual void CreateCanvas()
Definition: BesClient.cxx:1062
virtual void HandleInfoBar(const char *msg)
Definition: BesClient.cxx:2819
virtual Bool_t FirstEvent()
Definition: BesClient.cxx:3759
virtual void LoadMdcPalette()
Definition: BesClient.cxx:3263
virtual Bool_t GetRecEvent()
Definition: BesClient.cxx:3553
virtual void SetRange(Double_t &input, Double_t min, Double_t max)
Definition: BesClient.cxx:5433
virtual void AutoDisplayEvent()
Definition: BesClient.cxx:3775
virtual Bool_t NextEvent()
Definition: BesClient.cxx:3725
virtual void CreateStatusBar()
Definition: BesClient.cxx:1006
virtual void CreateUpButtonBar()
Definition: BesClient.cxx:562
virtual void AutoDisplayEventCommand()
Definition: BesClient.cxx:3802
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py, TObject *sel)
Definition: BesClient.cxx:3981
virtual void Help()
Definition: BesClient.cxx:3275
virtual void ExecuteReturn()
Definition: BesClient.cxx:5342
virtual void LoadMyConfig()
Definition: BesClient.cxx:3218
virtual Bool_t PrevEvent()
Definition: BesClient.cxx:3742
virtual void HandleButtons(Int_t id=-1)
Definition: BesClient.cxx:4734
virtual Bool_t FileExists(TString fname)
Definition: BesClient.cxx:5426
virtual void SetState(Int_t id=-1)
Definition: BesClient.cxx:4080
virtual void AutoRotate()
Definition: BesClient.cxx:3810
virtual void OpenGeoFile(TString filename)
Definition: BesClient.cxx:2870
virtual void ChangeFocus()
Definition: BesClient.cxx:5321
virtual void InitParameter()
Definition: BesClient.cxx:2200
virtual void UpdateBesInputFields()
Definition: BesClient.cxx:5287
virtual void LoadGeoFile()
Definition: BesClient.cxx:2844