42 return vol ? vol->GetNdaughters() > 0 :
false;
126 return std::make_shared<TGeoNodeElement>(
fCurrent);
133 item->SetIcon(
"sap-icon://product");
143 return vol ? std::make_unique<TGeoVolumeIter>(vol) :
nullptr;
150 return node ? std::make_unique<TGeoVolumeIter>(node->GetVolume()) :
nullptr;
182 return mgr ? 128 : -1;
204 return mgr ? std::make_unique<TGeoVolumeIter>(mgr->GetMasterVolume()) :
nullptr;
219 return std::make_shared<TGeoManagerElement>(
object);
222 return std::make_shared<TGeoVolumeElement>(
object);
225 return std::make_shared<TGeoNodeElement>(
object);
long long Long64_t
Portable signed long integer 8 bytes.
EActionKind
Possible actions on double-click.
@ kActGeom
can be shown in geometry viewer
Iterator over single level hierarchy like any array, keys list, ...
virtual std::unique_ptr< RItem > CreateItem()
Create generic description item for RBrowser.
Provider of different browsing methods for supported classes.
void RegisterBrowse(const TClass *cl, BrowseFunc_t func)
EActionKind GetDefaultAction() const override
Get default action.
bool IsFolder() const override
Check if element can have childs.
std::unique_ptr< RLevelIter > GetChildsIter() override
Provide iterator over TGeoManager.
const TObject * CheckObject() const override
Check if object still exists.
Long64_t GetSize() const override
bool IsCapable(EActionKind action) const override
Check if want to perform action.
TGeoManager * GetMgr() const
TGeoManagerElement(std::unique_ptr< RHolder > &br)
TGeoNode * GetNode() const
TGeoNodeElement(std::unique_ptr< RHolder > &br)
std::unique_ptr< RLevelIter > GetChildsIter() override
Provide iterator over TGeoVolume.
bool IsCapable(EActionKind action) const override
Check if want to perform action.
EActionKind GetDefaultAction() const override
Get default action.
TGeoNodeElement(TGeoNode *node)
std::unique_ptr< RLevelIter > GetChildsIter() override
Provide iterator over TGeoVolume.
bool IsCapable(EActionKind action) const override
Check if want to perform action.
bool IsFolder() const override
Check if element can have childs.
EActionKind GetDefaultAction() const override
Get default action.
TGeoVolumeElement(std::unique_ptr< RHolder > &br)
TGeoVolume * GetVolume() const
std::unique_ptr< RItem > CreateItem() override
Returns full item information.
bool Next() override
Shift to next entry.
std::string GetItemName() const override
Returns current entry name.
bool CanItemHaveChilds() const override
Returns true if current item can have childs.
TGeoNode * fCurrent
! current node
TGeoVolumeIter(TGeoVolume *vol)
~TGeoVolumeIter() override=default
std::shared_ptr< RElement > GetElement() override
Returns full information for current element.
TGeoIterator fIter
! iterator
TObjectElement(TObject *obj, const std::string &name="", bool _hide_childs=false)
Constructor with plain TObject* as argument - ownership is not defined.
virtual const TObject * CheckObject() const
Check if object still exists.
void ForgetObject() const
Forget object, use when it was deleted behind the scene.
The manager class for any TGeo 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.
Mother of all ROOT objects.
@ kInvalidObject
if object ctor succeeded but object should not be used
ROOT::Browsable::TGeoBrowseProvider newTGeoBrowseProvider