24using namespace std::string_literals;
30 std::unique_ptr<Browsable::RHolder>
fObject;
41 TGeoVolume *top = mgr->MakeBox(
"TOP",med,100,100,100);
42 mgr->SetTopVolume(top);
43 TGeoVolume *vol = mgr->MakeBox(
"BOX",med, 20,30,40);
58 fViewer.SetShowHierarchy(
false);
63 std::string
GetKind()
const override {
return "geom"s; }
65 void Show(
const std::string &arg)
override {
fViewer.Show(arg); }
69 bool DrawElement(std::shared_ptr<Browsable::RElement> &elem,
const std::string & =
"")
override
81 auto mgr = vol->GetGeoManager();
83 if (!mgr || (mgr->GetListOfVolumes()->GetLast() < 0) || (mgr->GetVolume(vol->GetName()) != vol))
86 fViewer.SetGeometry(vol->GetGeoManager(), vol->GetName());
93 fViewer.SetGeometry(node->GetVolume()->GetGeoManager(), node->GetVolume()->GetName());
115 std::shared_ptr<RBrowserWidget>
Create(
const std::string &
name)
final
117 return std::make_shared<RBrowserGeomWidget>(
name);
R__EXTERN TGeoManager * gGeoManager
std::shared_ptr< RBrowserWidget > Create(const std::string &name) final
~RBrowserGeomProvider()=default
@ kActGeom
can be shown in geometry viewer
The manager class for any TGeo geometry.
Base class describing materials.
Media are used to store properties related to tracking and which are useful only when using geometry ...
A node represent a volume positioned inside another.They store links to both volumes and to the TGeoM...
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
void SetLineWidth(Width_t lwidth) override
Set the line width.
virtual TGeoNode * AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="")
Add a TGeoNode to the list of nodes.
void SetLineColor(Color_t lcolor) override
Set the line color.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...