Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/ROOT/REveGeoTopNode.hxx was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 
0002 #ifndef ROOT7_REveGeoTopNode
0003 #define ROOT7_REveGeoTopNode
0004 
0005 #include <ROOT/REveElement.hxx>
0006 #include <ROOT/RGeomData.hxx>
0007 #include <ROOT/RGeomHierarchy.hxx>
0008 
0009 class TGeoNode;
0010 
0011 namespace ROOT {
0012 namespace Experimental {
0013 
0014 
0015 class REveGeoTopNodeData : public REveElement,
0016                            public REveAuntAsList
0017 {
0018   friend class REveGeoTopNodeViz;
0019 protected:
0020    REveGeoTopNodeData(const REveGeoTopNodeData &) = delete;
0021    REveGeoTopNodeData &operator=(const REveGeoTopNodeData &) = delete;
0022 
0023    TGeoNode* fGeoNode{nullptr};
0024    RGeomDescription fDesc;                        ///<! geometry description, send to the client as first message
0025    std::shared_ptr<RGeomHierarchy> fWebHierarchy; ///<! web handle for hierarchy part
0026 
0027 public:
0028    REveGeoTopNodeData(const Text_t *n = "REveGeoTopNodeData", const Text_t *t = "");
0029    virtual ~REveGeoTopNodeData() {}
0030 
0031    Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override;
0032    void SetTNode(TGeoNode* n);
0033    void ProcessSignal(const std::string &);
0034    RGeomDescription& RefDescription() {return fDesc;}
0035 
0036    void SetChannel(unsigned connid, int chid);
0037 };
0038 //-------------------------------------------------------------------
0039 class REveGeoTopNodeViz : public REveElement
0040 {
0041  private:
0042    REveGeoTopNodeViz(const REveGeoTopNodeViz &) = delete;
0043    REveGeoTopNodeViz &operator=(const REveGeoTopNodeViz &) = delete;
0044 
0045    REveGeoTopNodeData* fGeoData{nullptr};
0046 
0047  public:
0048    REveGeoTopNodeViz(const Text_t *n = "REveGeoTopNodeViz", const Text_t *t = "");
0049    void SetGeoData(REveGeoTopNodeData* d) {fGeoData = d;}
0050    Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override;
0051    void BuildRenderData() override;
0052 
0053    bool    RequiresExtraSelectionData() const override { return true; };
0054    void FillExtraSelectionData(nlohmann::json& j, const std::set<int>& secondary_idcs) const override;
0055 
0056    using REveElement::GetHighlightTooltip;
0057    std::string GetHighlightTooltip(const std::set<int>& secondary_idcs) const override;
0058 };
0059 
0060 } // namespace Experimental
0061 } // namespace ROOT
0062 
0063 #endif
0064