Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/g4tools/include/tools/rroot/branch_object

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  1 // Copyright (C) 2010, Guy Barrand. All rights reserved.
  2 // See the file tools.license for terms.
  3 
  4 #ifndef tools_rroot_branch_object
  5 #define tools_rroot_branch_object
  6 
  7 #include "branch"
  8 
  9 namespace tools {
 10 namespace rroot {
 11 
 12 class branch_object : public branch {
 13   typedef branch parent;
 14 public:
 15   static const std::string& s_class() {
 16     static const std::string s_v("tools::rroot::branch_object");
 17     return s_v;
 18   }
 19 public: //iro
 20   virtual void* cast(const std::string& a_class) const {
 21     if(void* p = cmp_cast<branch_object>(this,a_class)) return p;
 22     return parent::cast(a_class);
 23   }
 24   virtual const std::string& s_cls() const {return s_class();}
 25 public:
 26   static cid id_class() {return branch_object_cid();}
 27   virtual void* cast(cid a_class) const {
 28     if(void* p = cmp_cast<branch_object>(this,a_class)) {return p;}
 29     return parent::cast(a_class);
 30   }
 31 public:
 32   virtual bool stream(buffer& a_buffer) {
 33     short v;
 34     unsigned int _s,_c;
 35     if(!a_buffer.read_version(v,_s,_c)) return false;
 36     if(!parent::stream(a_buffer)) return false;
 37     if(!a_buffer.read(fClassName)) return false;
 38     if(!a_buffer.check_byte_count(_s,_c,"TBranchObject")) return false;
 39     return true;
 40   }
 41 public: //branch
 42 public:
 43   branch_object(std::ostream& a_out,ifac& a_fac)
 44   :parent(a_out,a_fac)
 45   //,m_obj(0)
 46   ,fClassName()
 47   {}
 48 
 49   virtual ~branch_object(){
 50     //delete m_obj;
 51   }
 52 protected:
 53   branch_object(const branch_object& a_from)
 54   :iro(a_from),parent(a_from){}
 55   branch_object& operator=(const branch_object&){return *this;}
 56 public:
 57   const std::string& class_name() const {return fClassName;}
 58 //  iro* object() {return m_obj;}
 59 protected:
 60 //  iro* m_obj;
 61 protected:
 62   std::string fClassName; //Class name of referenced object
 63 };
 64 
 65 }}
 66 
 67 #endif