Geant4 Cross Reference

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

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 ]

Diff markup

Differences between /externals/g4tools/include/tools/rroot/matrix (Version 11.3.0) and /externals/g4tools/include/tools/rroot/matrix (Version 11.1.3)


  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_rroot_matrix                          4 #ifndef tools_rroot_matrix
  5 #define tools_rroot_matrix                          5 #define tools_rroot_matrix
  6                                                     6 
  7 //NOTE : not yet tested.                            7 //NOTE : not yet tested.
  8                                                     8 
  9 #include "../scast"                                 9 #include "../scast"
 10 #include "buffer"                                  10 #include "buffer"
 11 #include "named"                                   11 #include "named"
 12                                                    12 
 13 namespace tools {                                  13 namespace tools {
 14 namespace rroot {                                  14 namespace rroot {
 15                                                    15 
 16 class matrix : public virtual iro {                16 class matrix : public virtual iro {
 17   static const std::string& s_store_class() {      17   static const std::string& s_store_class() {
 18     static const std::string s_v("TMatrix");       18     static const std::string s_v("TMatrix");
 19     return s_v;                                    19     return s_v;
 20   }                                                20   }
 21 public:                                            21 public:
 22   static const std::string& s_class() {            22   static const std::string& s_class() {
 23     static const std::string s_v("tools::rroot     23     static const std::string s_v("tools::rroot::matrix");
 24     return s_v;                                    24     return s_v;
 25   }                                                25   }
 26 public: //iro                                      26 public: //iro
 27   virtual void* cast(const std::string& a_clas     27   virtual void* cast(const std::string& a_class) const {
 28     if(void* p = cmp_cast<matrix>(this,a_class     28     if(void* p = cmp_cast<matrix>(this,a_class)) return p;
 29     return 0;                                      29     return 0;
 30   }                                                30   }
 31   virtual const std::string& s_cls() const {re     31   virtual const std::string& s_cls() const {return s_class();}
 32   virtual iro* copy() const {return new matrix     32   virtual iro* copy() const {return new matrix(*this);}
 33 public:                                            33 public:
 34   static cid id_class() {return matrix_cid();}     34   static cid id_class() {return matrix_cid();}
 35   virtual void* cast(cid a_class) const {          35   virtual void* cast(cid a_class) const {
 36     if(void* p = cmp_cast<matrix>(this,a_class     36     if(void* p = cmp_cast<matrix>(this,a_class)) {return p;}
 37     else return 0;                                 37     else return 0;
 38   }                                                38   }
 39 public:                                            39 public:
 40   virtual bool stream(buffer& a_buffer) {          40   virtual bool stream(buffer& a_buffer) {
 41     unsigned int _s,_c;                            41     unsigned int _s,_c;
 42     short v;                                       42     short v;
 43     if(!a_buffer.read_version(v,_s,_c)) return     43     if(!a_buffer.read_version(v,_s,_c)) return false;
 44                                                    44 
 45     //printf("debug : tools::rroot::matrix::st     45     //printf("debug : tools::rroot::matrix::stream : version %d\n",v);
 46                                                    46 
 47     // Version 2 streaming (ROOT/v3-00-6).         47     // Version 2 streaming (ROOT/v3-00-6).
 48                                                    48 
 49    {uint32 id,bits;                                49    {uint32 id,bits;
 50     if(!Object_stream(a_buffer,id,bits)) retur     50     if(!Object_stream(a_buffer,id,bits)) return false;}
 51                                                    51 
 52     int Nrows;                                     52     int Nrows;
 53     if(!a_buffer.read(Nrows)) return false;        53     if(!a_buffer.read(Nrows)) return false;
 54     int Ncols;                                     54     int Ncols;
 55     if(!a_buffer.read(Ncols)) return false;        55     if(!a_buffer.read(Ncols)) return false;
 56     int Nelems;                                    56     int Nelems;
 57     if(!a_buffer.read(Nelems)) return false;       57     if(!a_buffer.read(Nelems)) return false;
 58     int RowLwb;                                    58     int RowLwb;
 59     if(!a_buffer.read(RowLwb)) return false;       59     if(!a_buffer.read(RowLwb)) return false;
 60     int ColLwb;                                    60     int ColLwb;
 61     if(!a_buffer.read(ColLwb)) return false;       61     if(!a_buffer.read(ColLwb)) return false;
 62                                                    62 
 63     //Real_t* Elements; //[fNelems]                63     //Real_t* Elements; //[fNelems]
 64     if(!dummy_array_stream<float>(a_buffer,Nel     64     if(!dummy_array_stream<float>(a_buffer,Nelems)) return false;
 65                                                    65 
 66     if(!a_buffer.check_byte_count(_s,_c,s_stor     66     if(!a_buffer.check_byte_count(_s,_c,s_store_class())) return false;
 67     return true;                                   67     return true;
 68   }                                                68   }
 69                                                    69 
 70 public:                                            70 public:
 71   matrix(){                                        71   matrix(){
 72 #ifdef TOOLS_MEM                                   72 #ifdef TOOLS_MEM
 73     mem::increment(s_class().c_str());             73     mem::increment(s_class().c_str());
 74 #endif                                             74 #endif
 75   }                                                75   }
 76   virtual ~matrix(){                               76   virtual ~matrix(){
 77 #ifdef TOOLS_MEM                                   77 #ifdef TOOLS_MEM
 78     mem::decrement(s_class().c_str());             78     mem::decrement(s_class().c_str());
 79 #endif                                             79 #endif
 80   }                                                80   }
 81 protected:                                         81 protected:
 82   matrix(const matrix& a_from): iro(a_from){}      82   matrix(const matrix& a_from): iro(a_from){}
 83   matrix& operator=(const matrix&){return *thi     83   matrix& operator=(const matrix&){return *this;}
 84 };                                                 84 };
 85                                                    85 
 86 }}                                                 86 }}
 87                                                    87 
 88 #endif                                             88 #endif