Belle II Software  release-08-01-10
EveGeometry.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 #pragma once
9 
10 #include <RtypesCore.h>
11 
12 #include <string>
13 #include <vector>
14 
15 class TEveElement;
16 
17 namespace Belle2 {
23  namespace EveGeometry {
25  enum EType {
28  };
30  void addGeometry(EType visMode);
31 
33  void setVisualisationMode(EType visMode);
34 
36  void enableVolume(const char* name, bool only_daughters = false, bool enable = true);
37 
39  void disableVolume(const char* name, bool only_daughters = false);
40 
42  void setVolumeColor(const char* name, Color_t col);
43 
45  void setTransparency(int percent);
46 
48  double getMaxR();
49 
57  void saveExtract();
58 
60  void setCustomExtractPath(const std::string& extractPath);
61 
63  void setHideVolumes(const std::vector<std::string>& volumes);
64 
66  void setDeleteVolumes(const std::vector<std::string>& volumes);
67 
69  void removeChildrenByRegExp(TEveElement* parent, const std::string& pattern);
70 
71  }
73 }
74 
void setVolumeColor(const char *name, Color_t col)
set fill color of the volume 'name' to 'col'.
Definition: EveGeometry.cc:162
void setTransparency(int percent)
Recursively set transparency of geometry (0: opaque, 100: fully transparent).
Definition: EveGeometry.cc:174
void disableVolume(const char *name, bool only_daughters=false)
disable rendering of the volume 'name', or only its daughters if only_daughters is set.
Definition: EveGeometry.cc:160
void addGeometry(EType visMode)
Add TGeo geometry to Eve (only needs to be done once.)
Definition: EveGeometry.cc:36
void setDeleteVolumes(const std::vector< std::string > &volumes)
List of volumes to be removed.
Definition: EveGeometry.cc:228
void setVisualisationMode(EType visMode)
switch to given visualisation mode.
Definition: EveGeometry.cc:139
void enableVolume(const char *name, bool only_daughters=false, bool enable=true)
enable/disable rendering of the volume 'name', or only its daughters if only_daughters is set.
Definition: EveGeometry.cc:147
void setCustomExtractPath(const std::string &extractPath)
Set custom path to the geometry extract (to change originally hard-coded value)
Definition: EveGeometry.cc:218
void setHideVolumes(const std::vector< std::string > &volumes)
List of volumes to be hidden (can be re-enabled in Eve panel / Geometry scene.
Definition: EveGeometry.cc:223
void saveExtract()
Save a geometry extract from the current state of the TGeo geometry.
Definition: EveGeometry.cc:202
EType
Type of geometry shown.
Definition: EveGeometry.h:25
@ c_Full
Full geometry converted from Geant4 (use this for non-standard Belle II setups!).
Definition: EveGeometry.h:26
@ c_Simplified
a simplified Belle II geometry.
Definition: EveGeometry.h:27
void removeChildrenByRegExp(TEveElement *parent, const std::string &pattern)
Recursive removal of volumes based on regular expression pattern.
Definition: EveGeometry.cc:106
double getMaxR()
find a point that is inside the top node.
Definition: EveGeometry.cc:184
Abstract base class for different kinds of events.