CbmRoot
|
TBrowser Event display for Timeslices as Tree entry with CbmEvents in container. Function as unique Instance. More...
#include <CbmTimesliceManager.h>
Public Member Functions | |
CbmTimesliceManager () | |
virtual | ~CbmTimesliceManager ()=default |
CbmTimesliceManager (const CbmTimesliceManager &)=delete | |
CbmTimesliceManager & | operator= (const CbmTimesliceManager &)=delete |
virtual void | SetXMLConfig (TString xml_config) |
Set path to xml configuration file for control of transparency and visibility of individual geometry nodes. | |
void | SetDisplayCbmElectron () |
Select/add default set of views and some Hit and Tracks drawing classes for the CBM SIS100 electron setup. | |
void | SetDisplayCbmMuon () |
Select/add default set of views and some Hit and Tracks drawing classes for the CBM SIS100 muon setup. | |
void | SetDisplayMcbm (bool bLowRate=true, bool bMuch=false) |
Select/add default set of views and some Hit and Tracks drawing classes for the mCBM 2022+ setups. | |
void | SetDisplayTofCosmicsHd () |
Select/add default set of views and some Hit and Tracks drawing classes for the HD 2023+ cosmics setups. | |
virtual void | SetTransparency (Bool_t use_xml, Int_t trans) |
virtual void | SwitchBackground (Bool_t) |
void | SwitchPdgColorTrack (Bool_t pdg_color) |
virtual void | Init (Int_t visopt=1, Int_t vislvl=3, Int_t maxvisnds=10000) |
void | AddTask (FairTask *t) |
virtual void | Open () |
void | UpdateEditor () |
virtual void | Close () |
virtual Int_t | Color (Int_t pdg) |
virtual void | DisplaySettings () |
virtual void | GotoTimeslice (uint32_t timeslice) |
virtual void | NextTimeslice () |
virtual void | PrevTimeslice () |
virtual void | GotoEvent (Int_t event) |
virtual void | NextEvent () |
virtual void | PrevEvent () |
bool | GetMcbmViewersMode () const |
virtual uint32_t | GetCurrentTimeslice () const |
virtual Int_t | GetCurrentEvent () const |
double_t | GetTimesliceTime () |
current time in ns to display in the event display. | |
double_t | GetEventTime () |
current time in ns to display in the event display. | |
virtual void | SetTsTimeText (Double_t time) |
virtual void | SetTsNumberText (Int_t tsNumber) |
virtual void | SetEvtTimeText (Double_t time) |
virtual void | SetEvtNumberText (Int_t evtNumber) |
void | SetClearHandler (Bool_t val) |
Used to indicate to subtask that they should reset. | |
Bool_t | GetClearHandler () const |
Used to indicate to subtask that they should reset. | |
void | MakeScreenshot (CbmTsEveAnimationControl::eScreenshotType screenshotType, TString def_path="") |
Screenshot(s) generation: to be called by GUI element. | |
Static Public Member Functions | |
static CbmTimesliceManager * | Instance () |
Protected Member Functions | |
virtual void | LoadXMLSettings () |
void | LoadXMLDetector (TGeoNode *node, FairXMLNode *xml, Int_t depth=0) |
Int_t | StringToColor (TString color) const |
Private Member Functions | |
void | AddParticlesToPdgDataBase () |
void | InitPdgColorMap () |
void | SetTransparencyForLayer (TGeoNode *node, Int_t depth, Char_t transparency) |
bool | InitializeMainView (Int_t visopt, Int_t vislvl, Int_t maxvisnds) |
void | InitializeViewsCbm () |
void | SetViewers (TEveViewer *RPhi, TEveViewer *RhoZ) |
void | InitializeViewsMcbm () |
void | SetMcbmViewers (TEveViewer *ZY, TEveViewer *ZX) |
ClassDef (CbmTimesliceManager, 1) | |
Private Attributes | |
FairRunAna * | fRunAna = nullptr |
FairRootManager * | fRootManager = nullptr |
TString | fXMLConfig = "" |
std::map< int, int > | fPDGToColor = {} |
Bool_t | fClearHandler = kFALSE |
TGListTreeItem * | fEvent = nullptr |
Int_t | fEntry = 0 |
TClonesArray * | fCbmEvents = nullptr |
uint32_t | fTimesliceIdx = 0 |
uint32_t | fEventIdx = 0 |
double_t | fTimeTimeslice = -1 |
double_t | fTimeEvent = -1 |
TGLAnnotation * | fTimesliceTimeText = nullptr |
TGLAnnotation * | fTimesliceNumberText = nullptr |
TGLAnnotation * | fEventTimeText = nullptr |
TGLAnnotation * | fEventNumberText = nullptr |
TGLViewer::ECameraType | fRphiCam = TGLViewer::kCameraOrthoXOY |
TGLViewer::ECameraType | fRhoCam = TGLViewer::kCameraOrthoZOY |
TGLViewer::ECameraType | fCamZY = TGLViewer::kCameraOrthoZnOX |
TGLViewer::ECameraType | fCamZX = TGLViewer::kCameraOrthoZOY |
TEveViewer * | fRPhiView = nullptr |
CBM views. | |
TEveViewer * | fRhoZView = nullptr |
TEveViewer * | fMultiView = nullptr |
TEveViewer * | fMultiRPhiView = nullptr |
TEveViewer * | fMultiRhoZView = nullptr |
TEveScene * | fRPhiScene = nullptr |
TEveScene * | fRhoZScene = nullptr |
TEveProjectionManager * | fRPhiProjManager = nullptr |
TEveProjectionManager * | fRhoZProjManager = nullptr |
TEveProjectionAxes * | fAxesPhi = nullptr |
TEveProjectionAxes * | fAxesRho = nullptr |
bool | fbMcbmViewersEna = false |
mCBM views | |
TEveViewer * | fViewZY = nullptr |
TEveViewer * | fViewZX = nullptr |
TEveViewer * | fMcbmView = nullptr |
TEveViewer * | fMcbmViewZY = nullptr |
TEveViewer * | fMcbmViewZX = nullptr |
TEveScene * | fSceneZY = nullptr |
TEveScene * | fSceneZX = nullptr |
TEveProjectionManager * | fProjManagerZY = nullptr |
TEveProjectionManager * | fProjManagerZX = nullptr |
TEveProjectionAxes * | fAxesZY = nullptr |
TEveProjectionAxes * | fAxesZX = nullptr |
Static Private Attributes | |
static CbmTimesliceManager * | gRinstanceTsMan = 0 |
TBrowser Event display for Timeslices as Tree entry with CbmEvents in container. Function as unique Instance.
Based on FairEventManager class of FairRoot v18.6.7
Definition at line 39 of file CbmTimesliceManager.h.
CbmTimesliceManager::CbmTimesliceManager | ( | ) |
Initialize instance pointer with this object when create directly
Definition at line 46 of file CbmTimesliceManager.cxx.
References AddParticlesToPdgDataBase(), fRootManager, fRunAna, gRinstanceTsMan, and InitPdgColorMap().
|
virtualdefault |
|
delete |
|
private |
Definition at line 611 of file CbmTimesliceManager.cxx.
Referenced by CbmTimesliceManager().
|
inline |
Definition at line 88 of file CbmTimesliceManager.h.
References fRunAna.
Referenced by SetDisplayCbmElectron(), SetDisplayCbmMuon(), SetDisplayMcbm(), and SetDisplayTofCosmicsHd().
|
private |
|
virtual |
Definition at line 219 of file CbmTimesliceManager.cxx.
|
virtual |
Definition at line 222 of file CbmTimesliceManager.cxx.
References fPDGToColor.
Referenced by CbmTimesliceRecoTracks::GetTrGroup(), and CbmTimesliceRecoTracks::GotoEvent().
|
virtual |
Definition at line 220 of file CbmTimesliceManager.cxx.
|
inline |
Used to indicate to subtask that they should reset.
Definition at line 114 of file CbmTimesliceManager.h.
References fClearHandler.
|
inlinevirtual |
Definition at line 104 of file CbmTimesliceManager.h.
References fEventIdx.
Referenced by CbmTsDisTofTracklets::GotoEvent(), and NextTimeslice().
|
inlinevirtual |
Definition at line 103 of file CbmTimesliceManager.h.
References fTimesliceIdx.
Referenced by NextTimeslice(), and PrevTimeslice().
double_t CbmTimesliceManager::GetEventTime | ( | ) |
current time in ns to display in the event display.
Definition at line 315 of file CbmTimesliceManager.cxx.
References fCbmEvents, fEventIdx, fTimeEvent, and CbmEvent::GetTzero().
Referenced by NextTimeslice().
|
inline |
Definition at line 102 of file CbmTimesliceManager.h.
References fbMcbmViewersEna.
double_t CbmTimesliceManager::GetTimesliceTime | ( | ) |
current time in ns to display in the event display.
Definition at line 309 of file CbmTimesliceManager.cxx.
References fTimeTimeslice.
Referenced by NextTimeslice().
|
virtual |
Get List of tasks from FairRunAna
Tell each of them to go to selected event
Definition at line 262 of file CbmTimesliceManager.cxx.
References fCbmEvents, fEventIdx, CbmEvent::GetNofData(), GotoEvent(), kTofTracklet, and task.
Referenced by GotoEvent(), NextEvent(), PrevEvent(), and CbmTimesliceManagerEditor::SelectEvent().
|
virtual |
This will force all added tasks to load first event of this TS if possible
Definition at line 230 of file CbmTimesliceManager.cxx.
References fTimesliceIdx.
Referenced by NextTimeslice(), PrevTimeslice(), and CbmTimesliceManagerEditor::SelectTimeslice().
|
virtual |
Definition at line 194 of file CbmTimesliceManager.cxx.
References fbMcbmViewersEna, fCbmEvents, fRunAna, InitializeMainView(), InitializeViewsCbm(), and InitializeViewsMcbm().
|
private |
Definition at line 718 of file CbmTimesliceManager.cxx.
References fEvent, fEventNumberText, fEventTimeText, fTimesliceNumberText, fTimesliceTimeText, fXMLConfig, and LoadXMLSettings().
Referenced by Init().
|
private |
Definition at line 754 of file CbmTimesliceManager.cxx.
References fAxesPhi, fAxesRho, fMultiRhoZView, fMultiRPhiView, fMultiView, fRhoZProjManager, fRhoZScene, fRhoZView, fRPhiProjManager, fRPhiScene, fRPhiView, and SetViewers().
Referenced by Init().
|
private |
Definition at line 840 of file CbmTimesliceManager.cxx.
References fAxesZX, fAxesZY, fMcbmView, fMcbmViewZX, fMcbmViewZY, fProjManagerZX, fProjManagerZY, fSceneZX, fSceneZY, fViewZX, fViewZY, and SetMcbmViewers().
Referenced by Init().
|
private |
Definition at line 651 of file CbmTimesliceManager.cxx.
References fPDGToColor.
Referenced by CbmTimesliceManager().
|
static |
Definition at line 44 of file CbmTimesliceManager.cxx.
References gRinstanceTsMan.
Referenced by CbmTimeslicePixelHitSetDraw::Exec(), CbmTimeslicePixelHitSetDraw::GotoEvent(), CbmTimesliceRecoTracks::GotoEvent(), CbmTsDisTofTracklets::GotoEvent(), CbmTsPointSetArrayDraw::GotoEvent(), CbmTimesliceManagerEditor::Init(), CbmTimesliceRecoTracks::Init(), CbmTsDisTofTracklets::Init(), CbmTsPointSetArrayDraw::Init(), CbmTimeslicePixelHitSetDraw::Reset(), CbmTimesliceManagerEditor::SelectEvent(), CbmTimesliceManagerEditor::SelectTimeslice(), CbmTsEveTransparencyControl::Toggled(), and CbmTsEveTransparencyControl::ValueSet().
|
protected |
Complement the FairEventManager with a new keyword for setting the node visibility (+ daughters if recursive > 0)
Definition at line 473 of file CbmTimesliceManager.cxx.
References LoadXMLDetector(), and StringToColor().
Referenced by LoadXMLDetector(), and LoadXMLSettings().
|
protectedvirtual |
Complement the FairEventManager with a new keyword for setting the node visibility (+ daughters if recursive > 0)
Definition at line 442 of file CbmTimesliceManager.cxx.
References fXMLConfig, and LoadXMLDetector().
Referenced by InitializeMainView(), and SetTransparency().
void CbmTimesliceManager::MakeScreenshot | ( | CbmTsEveAnimationControl::eScreenshotType | screenshotType, |
TString | def_path = "" ) |
Screenshot(s) generation: to be called by GUI element.
screenshotType | see CbmTsEveAnimationControl, depends on CBM/mCBM mode |
def_path | default path to screenshot, if empty user will be asked with GUI pop-up |
Type missmatch, should never happen if Comboboxes properly set but better safe than sorry
Type missmatch, should never happen if Comboboxes properly set but better safe than sorry
Definition at line 352 of file CbmTimesliceManager.cxx.
References fbMcbmViewersEna, fRhoZView, fRPhiView, fViewZX, fViewZY, CbmTsEveAnimationControl::k3D, CbmTsEveAnimationControl::kAll, CbmTsEveAnimationControl::kXY, CbmTsEveAnimationControl::kZ, CbmTsEveAnimationControl::kZX, and CbmTsEveAnimationControl::kZY.
Referenced by CbmTimesliceManagerEditor::MakeScreenshot(), and CbmTimesliceManagerEditor::StartAnimation().
|
virtual |
Check if possible (min/max)
Re-use main method
Definition at line 293 of file CbmTimesliceManager.cxx.
References fEventIdx, and GotoEvent().
|
virtual |
Check if possible (min/max)
Re-use main method
Definition at line 237 of file CbmTimesliceManager.cxx.
References fCbmEvents, GetCurrentEvent(), GetCurrentTimeslice(), GetEventTime(), GetTimesliceTime(), GotoTimeslice(), SetEvtNumberText(), SetEvtTimeText(), SetTsNumberText(), and SetTsTimeText().
|
virtual |
Definition at line 217 of file CbmTimesliceManager.cxx.
|
delete |
|
virtual |
Check if possible (min/max)
Re-use main method
Definition at line 301 of file CbmTimesliceManager.cxx.
References fEventIdx, and GotoEvent().
|
virtual |
Check if possible (min/max)
Re-use main method
Definition at line 254 of file CbmTimesliceManager.cxx.
References GetCurrentTimeslice(), and GotoTimeslice().
|
inline |
Used to indicate to subtask that they should reset.
Definition at line 113 of file CbmTimesliceManager.h.
References fClearHandler.
Referenced by CbmTimesliceManagerEditor::SelectSingleEvent(), CbmTimesliceManagerEditor::SelectSingleTimeslice(), and CbmTimesliceManagerEditor::StartAnimation().
void CbmTimesliceManager::SetDisplayCbmElectron | ( | ) |
Select/add default set of views and some Hit and Tracks drawing classes for the CBM SIS100 electron setup.
Definition at line 58 of file CbmTimesliceManager.cxx.
References AddTask().
void CbmTimesliceManager::SetDisplayCbmMuon | ( | ) |
Select/add default set of views and some Hit and Tracks drawing classes for the CBM SIS100 muon setup.
Definition at line 77 of file CbmTimesliceManager.cxx.
References AddTask().
void CbmTimesliceManager::SetDisplayMcbm | ( | bool | bLowRate = true, |
bool | bMuch = false ) |
Select/add default set of views and some Hit and Tracks drawing classes for the mCBM 2022+ setups.
Definition at line 97 of file CbmTimesliceManager.cxx.
References AddTask(), and fbMcbmViewersEna.
void CbmTimesliceManager::SetDisplayTofCosmicsHd | ( | ) |
Select/add default set of views and some Hit and Tracks drawing classes for the HD 2023+ cosmics setups.
Definition at line 130 of file CbmTimesliceManager.cxx.
References AddTask(), and fbMcbmViewersEna.
|
virtual |
Definition at line 345 of file CbmTimesliceManager.cxx.
References fEventNumberText.
Referenced by NextTimeslice(), and CbmTimesliceManagerEditor::SelectEvent().
|
virtual |
Definition at line 337 of file CbmTimesliceManager.cxx.
References fEventTimeText.
Referenced by NextTimeslice(), and CbmTimesliceManagerEditor::SelectEvent().
|
private |
Definition at line 907 of file CbmTimesliceManager.cxx.
References fCamZX, fCamZY, fSceneZX, and fSceneZY.
Referenced by InitializeViewsMcbm().
|
virtual |
set detector's transparency, typically called during processing of XML config file
use_xml | use xml colors if available |
trans | transparency for detector (if xml not used) |
Definition at line 149 of file CbmTimesliceManager.cxx.
References fXMLConfig, LoadXMLSettings(), and SetTransparencyForLayer().
Referenced by CbmTsEveTransparencyControl::Toggled(), and CbmTsEveTransparencyControl::ValueSet().
|
private |
Definition at line 706 of file CbmTimesliceManager.cxx.
References SetTransparencyForLayer().
Referenced by SetTransparency(), and SetTransparencyForLayer().
|
virtual |
Definition at line 330 of file CbmTimesliceManager.cxx.
References fTimesliceNumberText.
Referenced by NextTimeslice(), and CbmTimesliceManagerEditor::SelectTimeslice().
|
virtual |
Definition at line 322 of file CbmTimesliceManager.cxx.
References fTimesliceTimeText.
Referenced by NextTimeslice(), and CbmTimesliceManagerEditor::SelectTimeslice().
|
private |
Definition at line 809 of file CbmTimesliceManager.cxx.
References fRhoCam, fRhoZScene, fRphiCam, and fRPhiScene.
Referenced by InitializeViewsCbm().
|
inlinevirtual |
Set path to xml configuration file for control of transparency and visibility of individual geometry nodes.
Full | path to the xml file (without usage of variables such as ~ or $XXXX) |
Definition at line 52 of file CbmTimesliceManager.h.
References fXMLConfig.
|
protected |
Definition at line 534 of file CbmTimesliceManager.cxx.
Referenced by LoadXMLDetector().
|
virtual |
switch background color: to be called by GUI element
light | use white if true |
PAL 31/05/2023: No parameter possible to SwitchColorSet of TEveViewerList in recent root versions !?!
Definition at line 175 of file CbmTimesliceManager.cxx.
Referenced by CbmTimesliceManagerEditor::SwitchBackground().
void CbmTimesliceManager::SwitchPdgColorTrack | ( | Bool_t | pdg_color | ) |
switch track color: to be called by GUI element
PDG | color if true, red if false (see TimesliceRecoTracks) |
Get List of tasks from FairRunAna
Tell the one(s) displaying reco tracks to use pdg_color or not
Definition at line 181 of file CbmTimesliceManager.cxx.
References SwitchPdgColorTrack(), and task.
Referenced by SwitchPdgColorTrack(), and CbmTimesliceManagerEditor::SwitchPdgColorTrack().
void CbmTimesliceManager::UpdateEditor | ( | ) |
Definition at line 218 of file CbmTimesliceManager.cxx.
|
private |
Definition at line 170 of file CbmTimesliceManager.h.
Referenced by InitializeViewsCbm().
|
private |
Definition at line 171 of file CbmTimesliceManager.h.
Referenced by InitializeViewsCbm().
|
private |
Definition at line 185 of file CbmTimesliceManager.h.
Referenced by InitializeViewsMcbm().
|
private |
Definition at line 184 of file CbmTimesliceManager.h.
Referenced by InitializeViewsMcbm().
|
private |
mCBM views
Definition at line 174 of file CbmTimesliceManager.h.
Referenced by GetMcbmViewersMode(), Init(), MakeScreenshot(), SetDisplayMcbm(), and SetDisplayTofCosmicsHd().
|
private |
Definition at line 158 of file CbmTimesliceManager.h.
Referenced by SetMcbmViewers().
|
private |
Definition at line 157 of file CbmTimesliceManager.h.
Referenced by SetMcbmViewers().
|
private |
Definition at line 144 of file CbmTimesliceManager.h.
Referenced by GetEventTime(), GotoEvent(), Init(), and NextTimeslice().
|
private |
Definition at line 140 of file CbmTimesliceManager.h.
Referenced by GetClearHandler(), and SetClearHandler().
|
private |
Definition at line 143 of file CbmTimesliceManager.h.
|
private |
Definition at line 142 of file CbmTimesliceManager.h.
Referenced by InitializeMainView().
|
private |
Definition at line 146 of file CbmTimesliceManager.h.
Referenced by GetCurrentEvent(), GetEventTime(), GotoEvent(), NextEvent(), and PrevEvent().
|
private |
Definition at line 153 of file CbmTimesliceManager.h.
Referenced by InitializeMainView(), and SetEvtNumberText().
|
private |
Definition at line 152 of file CbmTimesliceManager.h.
Referenced by InitializeMainView(), and SetEvtTimeText().
|
private |
Definition at line 177 of file CbmTimesliceManager.h.
Referenced by InitializeViewsMcbm().
|
private |
Definition at line 179 of file CbmTimesliceManager.h.
Referenced by InitializeViewsMcbm().
|
private |
Definition at line 178 of file CbmTimesliceManager.h.
Referenced by InitializeViewsMcbm().
|
private |
Definition at line 165 of file CbmTimesliceManager.h.
Referenced by InitializeViewsCbm().
|
private |
Definition at line 164 of file CbmTimesliceManager.h.
Referenced by InitializeViewsCbm().
|
private |
Definition at line 163 of file CbmTimesliceManager.h.
Referenced by InitializeViewsCbm().
|
private |
Definition at line 135 of file CbmTimesliceManager.h.
Referenced by Color(), and InitPdgColorMap().
|
private |
Definition at line 183 of file CbmTimesliceManager.h.
Referenced by InitializeViewsMcbm().
|
private |
Definition at line 182 of file CbmTimesliceManager.h.
Referenced by InitializeViewsMcbm().
|
private |
Definition at line 156 of file CbmTimesliceManager.h.
Referenced by SetViewers().
|
private |
Definition at line 169 of file CbmTimesliceManager.h.
Referenced by InitializeViewsCbm().
|
private |
Definition at line 167 of file CbmTimesliceManager.h.
Referenced by InitializeViewsCbm(), and SetViewers().
|
private |
Definition at line 162 of file CbmTimesliceManager.h.
Referenced by InitializeViewsCbm(), and MakeScreenshot().
|
private |
Definition at line 132 of file CbmTimesliceManager.h.
Referenced by CbmTimesliceManager().
|
private |
Definition at line 155 of file CbmTimesliceManager.h.
Referenced by SetViewers().
|
private |
Definition at line 168 of file CbmTimesliceManager.h.
Referenced by InitializeViewsCbm().
|
private |
Definition at line 166 of file CbmTimesliceManager.h.
Referenced by InitializeViewsCbm(), and SetViewers().
|
private |
CBM views.
Definition at line 161 of file CbmTimesliceManager.h.
Referenced by InitializeViewsCbm(), and MakeScreenshot().
|
private |
Definition at line 131 of file CbmTimesliceManager.h.
Referenced by AddTask(), CbmTimesliceManager(), and Init().
|
private |
Definition at line 181 of file CbmTimesliceManager.h.
Referenced by InitializeViewsMcbm(), and SetMcbmViewers().
|
private |
Definition at line 180 of file CbmTimesliceManager.h.
Referenced by InitializeViewsMcbm(), and SetMcbmViewers().
|
private |
Definition at line 148 of file CbmTimesliceManager.h.
Referenced by GetEventTime().
|
private |
Definition at line 145 of file CbmTimesliceManager.h.
Referenced by GetCurrentTimeslice(), and GotoTimeslice().
|
private |
Definition at line 151 of file CbmTimesliceManager.h.
Referenced by InitializeMainView(), and SetTsNumberText().
|
private |
Definition at line 150 of file CbmTimesliceManager.h.
Referenced by InitializeMainView(), and SetTsTimeText().
|
private |
Definition at line 147 of file CbmTimesliceManager.h.
Referenced by GetTimesliceTime().
|
private |
Definition at line 176 of file CbmTimesliceManager.h.
Referenced by InitializeViewsMcbm(), and MakeScreenshot().
|
private |
Definition at line 175 of file CbmTimesliceManager.h.
Referenced by InitializeViewsMcbm(), and MakeScreenshot().
|
private |
Definition at line 134 of file CbmTimesliceManager.h.
Referenced by InitializeMainView(), LoadXMLSettings(), SetTransparency(), and SetXMLConfig().
|
staticprivate |
Definition at line 129 of file CbmTimesliceManager.h.
Referenced by CbmTimesliceManager(), and Instance().