CbmRoot
Loading...
Searching...
No Matches
CbmTsEveAnimationControl.h
Go to the documentation of this file.
1/* Copyright (C) 2023 Facility for Antiproton and Ion Research in Europe, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Pierre-Alain Loizeau[committer] */
4
5/*
6 * FairEveAnimationControl.h
7 *
8 * Created on: 26 maj 2020
9 * Author: Daniel Wielanek
10 * E-mail: daniel.wielanek@gmail.com
11 * Warsaw University of Technology, Faculty of Physics
12 */
13
14#ifndef CBMTSEVEANIMATIONCONTROL_H_
15#define CBMTSEVEANIMATIONCONTROL_H_
16
17#include <Rtypes.h>
18#include <RtypesCore.h>
19#include <TGButton.h>
20#include <TGButton.h> // for TGTextButton, TGCheckButton
21#include <TGComboBox.h>
22#include <TGDoubleSlider.h>
23#include <TGFrame.h>
24#include <TGLabel.h>
25#include <TGNumberEntry.h>
26#include <TGedFrame.h> // for TGedFrame
27#include <TObject.h>
28
29#include <GuiTypes.h>
30
36class CbmTsEveAnimationControl : public TNamed {
37public:
44 {
45 kAll = 0,
46 k3D = 1,
47 kZX = 2,
48 kZY = 3,
49 kXY = 4,
50 kZ = 5
51 };
52 CbmTsEveAnimationControl(TGedFrame* frame, TGCompositeFrame* tab, TString functionName, TString name = "",
53 Int_t width = 170);
54
56
60 void SetDisplayMcbm(bool bEna) { fbMcbmViewersEna = bEna; }
61
66 void SetFunctionName(TString name) { fFunctionName = name; };
67
68 void SetEvtNb(uint32_t uNbEvt)
69 {
70 fNbEvt = uNbEvt;
71
72 if (fbInitDone) { //
74 }
75 };
76
77 void SetTsNb(uint32_t uTsNb)
78 {
79 fNbTs = uTsNb;
80
81 if (fbInitDone) { //
83 }
84 };
85
86 void Init();
87
89 Double_t GetAnimFrameSec();
90 Bool_t GetScreenshotEna();
92 Int_t GetEventMin();
93 Int_t GetEventMax();
94 Int_t GetEventStep();
95 Int_t GetTsMin();
96 Int_t GetTsMax();
97 Int_t GetTsStep();
98 Bool_t GetRunContinuous();
99 Bool_t GetClearBuffer();
100
108 void UpdateEnaDisButtons();
112 void UpdateEventLimits();
116 void UpdateTsLimits();
117
118private:
119 const Int_t fWidth;
120 uint32_t fNbEvt = 0;
121 uint32_t fNbTs = 0;
122
123 TGedFrame* fParent = nullptr;
124 TString fFunctionName = "";
125
126 bool fbMcbmViewersEna = false;
127 bool fbInitDone = false;
128
129 TGCompositeFrame* fTab = nullptr;
130 TGTextButton* fStartButton = nullptr;
131 TGComboBox* fTypeOpt = nullptr;
132 TGNumberEntry* fAnimFrameSec = nullptr;
133 TGCheckButton* fBtnScreenshotEna = nullptr;
134 TGComboBox* fSceneOpt = nullptr;
135 TGNumberEntry* fEvtMin = nullptr;
136 TGNumberEntry* fEvtMax = nullptr;
137 TGNumberEntry* fEvtStep = nullptr;
138 TGNumberEntry* fTsMin = nullptr;
139 TGNumberEntry* fTsMax = nullptr;
140 TGNumberEntry* fTsStep = nullptr;
141 TGCheckButton* fBtnRunContinuous = nullptr;
142 TGCheckButton* fBtnClearBuffer = nullptr;
143
144 ClassDef(CbmTsEveAnimationControl, 1)
145};
146
147#endif /* CBMTSEVEANIMATIONCONTROL_H_ */
GUI elements to add animation and screenshot controls to CbmTimesliceManagerEditor....
void SetDisplayMcbm(bool bEna)
Tune list of allowed screenshot types depending on available CBM/mCBM views.
eScreenshotType GetScreenshotType() const
CbmTsEveAnimationControl(TGedFrame *frame, TGCompositeFrame *tab, TString functionName, TString name="", Int_t width=170)
PAL 01/06/2023: heavily based on FairEveAnimationControl from FairRoot v18.6.7, for usage with CbmTim...
void UpdateEnaDisButtons()
Update GUI elements to enforce options/limits. RESERVED FOR GUI CALLS!
eAnimationType GetAnimationType() const
void UpdateEventLimits()
Update GUI elements to enforce options/limits. RESERVED FOR GUI CALLS!
void UpdateEnaScreenshots()
Update GUI elements to enforce options/limits. RESERVED FOR GUI CALLS!
void UpdateTsLimits()
Update GUI elements to enforce options/limits. RESERVED FOR GUI CALLS!