|
DD4hep
1.30.0
Detector Description Toolkit for High Energy Physics
|
Go to the documentation of this file.
13 #ifndef DDEVE_DISPLAY_H
14 #define DDEVE_DISPLAY_H
28 class TEveCaloDataHist;
45 class ViewConfiguration;
46 class CalodataConfiguration;
47 class GenericEventHandler;
48 class DisplayConfiguration;
62 typedef std::set<PopupMenu*>
Menus;
63 typedef std::map<std::string, TEveElementList*>
Topics;
82 typedef std::map<std::string, CalodataContext>
Calodata;
149 void LoadXML(
const char* xmlFile);
153 TFile*
Open(
const char* rootFile)
const;
159 void MessageBox(PrintLevel level,
const std::string& text,
const std::string& title=
"")
const;
197 void ImportGeo(
const std::string& topic, TEveElement* el);
207 void ImportEvent(
const std::string& topic, TEveElement* el);
215 virtual void BuildMenus(TGMenuBar* menuBar=0);
217 virtual void AddMenu(TGMenuBar* menuBar,
PopupMenu* menu,
int hints=kLHintsNormal);
222 #endif // DDEVE_DISPLAY_H
const DataConfig * GetCalodataConfiguration(const std::string &name) const
Access a data filter by name. Data filters are used to customize views.
void MakeNodesVisible(TEveElement *e, bool visible, int level)
Make a set of nodes starting from a top element (in-)visible with a given depth.
The main class of the DDEve display.
void MessageBox(PrintLevel level, const std::string &text, const std::string &title="") const
Open standard message box.
Event handler base class. Interface to all DDEve I/O actions.
std::string getEventHandlerName()
Get Event Handler Plugin name.
Topics m_eveTopics
Event data topics.
ViewConfigurations m_viewConfigs
Container with view configurations.
Menus m_menus
Container with top level menues.
Event handler base class: Interface to all DDEve I/O actions.
void ImportGeo(TEveElement *el)
Call to import geometry elements.
ViewMenu * m_viewMenu
Reference to the view menu.
ClassDefOverride(Display, 0)
virtual TEveElementList & GetGeoTopic(const std::string &name)
Access/Create an geometry topic by name.
std::string OpenEventFileDialog(const std::string &default_dir) const
Popup ROOT file chooser. returns chosen file name; empty on cancel.
void LoadGeoChildren(TEveElement *start, int levels, bool redraw)
Load 'levels' Children into the geometry scene.
void setLoadLevel(int new_level)
Set Eve Geometry load level in manager (either from XML or BEFORE XML file was loaded)
std::map< std::string, DataConfig > DataConfigurations
int m_visLevel
TGeoManager visualisation level.
DataConfigurations m_calodataConfigs
Container with calorimeter data display configurations.
const ViewConfig * GetViewConfiguration(const std::string &name) const
Access a data filter by name. Data filters are used to customize views.
Class of the ROOT toolkit. See http://root.cern.ch/root/htmldoc/ClassIndex.html.
Views m_eveViews
Container with configured event views.
std::string OpenXmlFileDialog(const std::string &default_dir) const
Popup XML file chooser. returns chosen file name; empty on cancel.
std::string m_eventHandlerName
Name of the event handler plugin.
Event event consumer base class for DDEve: Interface class for event I/O.
DisplayConfiguration::ViewConfig ViewConfig
CalodataContext()=default
Default constructor.
CalodataContext & GetCaloHistogram(const std::string &name)
Access to calo data histograms by name as defined in the configuration.
TEveCaloDataHist * eveHist
std::map< std::string, ViewConfig > ViewConfigurations
std::set< PopupMenu * > Menus
const ViewConfigurations & viewConfigurations() const
Access View configurations.
void LoadXML(const char *xmlFile)
Load geometry from compact xml file.
TEveElementList * m_eveGlobal
Event item element list.
Detector & detectorDescription() const
Access to geometry hub.
CalodataContext(const CalodataContext &c)=default
Copy constructor.
TGClient & client() const
Access to X-client.
DisplayConfiguration::Config config
int m_loadLevel
Load level for the eve geometry.
virtual ~Display()
Default destructor.
Detector * m_detDesc
Reference to geometry hub.
GenericEventHandler * m_evtHandler
Reference to the event reader object.
Container with full display configuration.
TEveElementList & GetGeo()
Access / Create global geometry element.
void setEventHandlerName(const std::string &nam)
Set Event Handler Plugin name.
Calodata m_calodata
Container with calorimeter data (projections)
Display(TEveManager *eve)
Standard constructor.
CalodataContext & operator=(const CalodataContext &c)=default
Assignment operator.
void LoadGeometryRoot(const char *rootFile)
Load geometry from compact xml file.
virtual TEveElementList & GetEveTopic(const std::string &name)
Access/Create an event topic by name.
void ChooseGeometry()
Load geometry with panel.
GenericEventHandler & eventHandler() const
Access to the event reader.
Topics m_geoTopics
Geometry data topics.
Generic display configuration structure for DDEve.
std::map< std::string, CalodataContext > Calodata
virtual void AddMenu(TGMenuBar *menuBar, PopupMenu *menu, int hints=kLHintsNormal)
Add new menu to the main menu bar.
Namespace for the AIDA detector description toolkit.
void ImportEvent(TEveElement *el)
Call to import top level event elements.
std::set< DisplayConfiguration * > Configurations
virtual void OnFileOpen(EventHandler &handler) override
Consumer overload: open file.
TFile * Open(const char *rootFile) const
Open ROOT file.
The main interface to the dd4hep detector description package.
virtual void BuildMenus(TGMenuBar *menuBar=0)
Build the DDEve specific menues. Default bar is the ROOT browser's bar.
class View View.h DDEve/View.h
Calorimeter data context for the DDEve event display.
virtual void UnregisterEvents(View *view)
Unregister from the main event scene.
std::map< std::string, TEveElementList * > Topics
virtual void RegisterEvents(View *view)
Register to the main event scene on new events.
void ImportConfiguration(const DisplayConfiguration &config)
Import configuration parameters.
DD4hepMenu * m_dd4Menu
Reference to the specialized ddeve menu.
virtual void OnNewEvent(EventHandler &handler) override
EventConsumer overload: Consumer event data.
TEveManager & manager() const
Access to the EVE manager.
TEveElementList * m_geoGlobal
Geometry item element list.
void setVisLevel(int new_level)
Set Vis level in geo manager (either from XML or BEFORE XML file was loaded)
DisplayConfiguration::Config DataConfig
TEveManager * m_eve
Reference to TEve manager.
DataConfigurations m_collectionsConfigs
Container with non-calorimeter data display configurations.