Geant4 Cross Reference |
1 // Copyright (C) 2010, Guy Barrand. All rights 1 // Copyright (C) 2010, Guy Barrand. All rights reserved. 2 // See the file tools.license for terms. 2 // See the file tools.license for terms. 3 3 4 #ifndef tools_wroot_icol 4 #ifndef tools_wroot_icol 5 #define tools_wroot_icol 5 #define tools_wroot_icol 6 6 7 #include "../typedefs" 7 #include "../typedefs" 8 #include "../cid" 8 #include "../cid" 9 9 10 #include <string> 10 #include <string> 11 11 12 namespace tools { 12 namespace tools { 13 namespace wroot { 13 namespace wroot { 14 class branch; 14 class branch; 15 class base_leaf; 15 class base_leaf; 16 }} 16 }} 17 17 18 namespace tools { 18 namespace tools { 19 namespace wroot { 19 namespace wroot { 20 20 21 class icol { 21 class icol { 22 public: 22 public: 23 virtual ~icol(){} 23 virtual ~icol(){} 24 public: 24 public: 25 virtual void* cast(cid) const = 0; 25 virtual void* cast(cid) const = 0; 26 virtual cid id_cls() const = 0; 26 virtual cid id_cls() const = 0; 27 public: 27 public: 28 virtual void add() = 0; 28 virtual void add() = 0; 29 virtual void set_def() = 0; 29 virtual void set_def() = 0; 30 virtual const std::string& name() const = 30 virtual const std::string& name() const = 0; 31 virtual void set_basket_size(uint32) = 0; 31 virtual void set_basket_size(uint32) = 0; 32 virtual branch& get_branch() const = 0; 32 virtual branch& get_branch() const = 0; 33 virtual base_leaf* get_leaf() const = 0; 33 virtual base_leaf* get_leaf() const = 0; 34 }; 34 }; 35 35 36 }} 36 }} 37 37 38 #endif 38 #endif