3#ifndef MPDEVENTMANAGER_H
4#define MPDEVENTMANAGER_H
10#include <TEveViewer.h>
11#include "TEveEventManager.h"
14#include <TEveProjectionManager.h>
15#include "TGListTree.h"
16#include <TEveProjectionAxes.h>
19#include <unordered_set>
81 virtual void Init(Int_t visopt = 1, Int_t vislvl = 3, Int_t maxvisnds = 10000);
94 virtual void SetCurrentEvent(Int_t event_number) { iCurrentEvent = event_number; }
114 { fRPhiPlane[0] = a; fRPhiPlane[1] = b; fRPhiPlane[2] = c; fRPhiPlane[3] =
d; }
116 { fRhoZPlane[0] = a; fRhoZPlane[1] = b; fRhoZPlane[2] = c; fRhoZPlane[3] =
d; }
127 virtual void SetXMLConfig(TString xml_config) { fXMLConfig = xml_config; }
172 TEveViewer *fRPhiView, *fRhoZView, *fMulti3DView, *fMultiRPhiView, *fMultiRhoZView;
174 TEveProjectionManager *fRPhiMng, *fRhoZMng;
176 TEveScene *fRPhiGeomScene, *fRhoZGeomScene;
177 TEveProjectionAxes *fAxesPhi, *fAxesRho;
178 Double_t fRPhiPlane[4]; Double_t fRhoZPlane[4];
180 TGListTreeItem* fEvent;
185 Float_t fMinEnergyLimit;
187 Float_t fMaxEnergyLimit;
189 Float_t fMinEnergyCut;
191 Float_t fMaxEnergyCut;
194 Int_t fLastUsedColor;
197 map<int,int> fPDGToColor;
200 vector<structSelectedColoring*> vecSelectedColoring;
201 vector<structLevelColoring*> vecLevelColoring;
203 void SetViewers(TEveViewer* RPhi, TEveViewer* RhoZ);
206 void InitColorStructure();
208 Int_t StringToColor(TString color);
210 bool ValidateXml(
const char *XMLFileName,
const char *XSDFileName);
211 void LevelChangeNodeProperty(TGeoNode* node,
size_t level);
212 void SelectedGeometryColoring();
213 void RecursiveChangeNodeProperty(TGeoNode* parentNode, Int_t color,
int transparency);
214 void RecursiveChangeNodeTransparent(TGeoNode* parentNode,
int transparency);
const Float_t d
Z-ccordinate of the first GEM-station.
friend F32vec4 min(const F32vec4 &a, const F32vec4 &b)
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
TEveProjectionManager * GetRPhiProjManager() const
virtual void SetMinEnergyLimit(Float_t min)
virtual void SetCurrentEvent(Int_t event_number)
virtual void SetXMLConfig(TString xml_config)
bool fgShowShowRecoTracks
TEveElementList * EveRecoPoints
virtual void Init(Int_t visopt=1, Int_t vislvl=3, Int_t maxvisnds=10000)
bool fgRedrawRecoPointsReqired
TEveProjectionManager * GetRhoZProjManager() const
virtual void SetMaxEnergyCut(Float_t max)
TEveViewer * GetMultiView() const
VisualizationColoring gVisualizationColoring
virtual void ExpandEnergyLimits(Float_t check_energy, float add_multiplier=1)
virtual void SetMinEnergyCut(Float_t min)
TEveProjectionAxes * GetRPhiAxes() const
virtual Bool_t IsPriOnly()
virtual void SetPriOnly(Bool_t Pri)
static MpdEventManager * Instance()
MpdEventManagerEditor * GetEventEditor()
virtual ~MpdEventManager()
TEveProjectionAxes * GetRhoZAxes() const
TEveElementList * EveRecoTracks
virtual void GotoEvent(Int_t event)
virtual void SetRhoZPlane(Double_t a, Double_t b, Double_t c, Double_t d)
TEveViewer * GetRhoZView() const
TEveElementList * EveMCTracks
TEveViewer * GetMultiRhoZView() const
TEveViewer * GetRPhiView() const
virtual void SetRPhiPlane(Double_t a, Double_t b, Double_t c, Double_t d)
bool fgShowShowRecoPoints
void SetEventEditor(MpdEventManagerEditor *event_editor)
TEveScene * GetRPhiScene()
void SetTransparentGeometry(bool is_on)
TEveViewer * GetMultiRPhiView() const
virtual Int_t GetCurrentEvent()
virtual Float_t GetMinEnergyLimit()
void LoadXMLDetector(TGeoNode *node, MpdXMLNode *xml, Int_t depth=0)
unordered_set< Int_t > fCurrentPDG
virtual void AddParticlesToPdgDataBase()
void AddEventElement(TEveElement *element, ElementList element_list)
virtual Int_t Color(Int_t pdg)
void AddTask(FairTask *t)
virtual void LoadXMLSettings()
virtual Float_t GetMinEnergyCut()
TEveScene * GetRhoZScene()
virtual Float_t GetMaxEnergyCut()
TEveElementList * EveMCPoints
virtual void DisplaySettings()
virtual void SetMaxEnergyLimit(Float_t max)
virtual Float_t GetMaxEnergyLimit()
structLevelColoring(TString fill, bool isLine, bool vis, int transp)
structSelectedColoring(TString det_name, TString det_color, int det_transparency, bool isRecursive)
int detector_transparency