Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-16 09:25:44

0001 // @(#)root/eve7:$Id$
0002 // Author: Matevz Tadel 2007
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2019, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT7_REveSecondarySelectable
0013 #define ROOT7_REveSecondarySelectable
0014 
0015 #include "Rtypes.h"
0016 
0017 #include <set>
0018 
0019 // XXXX class TGLSelectRecord;
0020 
0021 namespace ROOT {
0022 namespace Experimental {
0023 
0024 class REveSecondarySelectable
0025 {
0026 private:
0027    REveSecondarySelectable(const REveSecondarySelectable &) = delete;
0028    REveSecondarySelectable &operator=(const REveSecondarySelectable &) = delete;
0029 
0030 public:
0031    typedef std::set<Int_t>                SelectionSet_t;
0032 
0033 protected:
0034    Bool_t fAlwaysSecSelect{kFALSE}; // Always do secondary-selection in GL.
0035 
0036    SelectionSet_t fSelectedSet;    // Selected indices.
0037    SelectionSet_t fHighlightedSet; // Highlighted indices.
0038 
0039 public:
0040    REveSecondarySelectable() = default;
0041    virtual ~REveSecondarySelectable() {}
0042 
0043    Bool_t GetAlwaysSecSelect()   const { return fAlwaysSecSelect; }
0044    void   SetAlwaysSecSelect(Bool_t f) { fAlwaysSecSelect = f; }
0045 
0046    SelectionSet_t &RefSelectedSet()    { return fSelectedSet; }
0047    SelectionSet_t &RefHighlightedSet() { return fHighlightedSet; }
0048 };
0049 
0050 } // namespace Experimental
0051 } // namespace ROOT
0052 
0053 #endif