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_histo_h2d 4 #ifndef tools_histo_h2d 5 #define tools_histo_h2d 5 #define tools_histo_h2d 6 6 7 #include "h2" 7 #include "h2" 8 8 9 namespace tools { 9 namespace tools { 10 namespace histo { 10 namespace histo { 11 11 12 class h2d : public h2<double,unsigned int,unsi 12 class h2d : public h2<double,unsigned int,unsigned int,double,double> { 13 typedef h2<double,unsigned int,unsigned int, 13 typedef h2<double,unsigned int,unsigned int,double,double> parent; 14 public: 14 public: 15 static const std::string& s_class() { 15 static const std::string& s_class() { 16 static const std::string s_v("tools::histo 16 static const std::string s_v("tools::histo::h2d"); 17 return s_v; 17 return s_v; 18 } 18 } 19 const std::string& s_cls() const {return s_c 19 const std::string& s_cls() const {return s_class();} 20 public: 20 public: 21 h2d():parent("",10,0,1,10,0,1){} //for I/O w 21 h2d():parent("",10,0,1,10,0,1){} //for I/O when reading. 22 22 23 h2d(const std::string& a_title, 23 h2d(const std::string& a_title, 24 unsigned int aXnumber,double aXmin,doubl 24 unsigned int aXnumber,double aXmin,double aXmax, 25 unsigned int aYnumber,double aYmin,doubl 25 unsigned int aYnumber,double aYmin,double aYmax) 26 :parent(a_title,aXnumber,aXmin,aXmax,aYnumbe 26 :parent(a_title,aXnumber,aXmin,aXmax,aYnumber,aYmin,aYmax) 27 {} 27 {} 28 h2d(const std::string& a_title, 28 h2d(const std::string& a_title, 29 const std::vector<double>& a_edges_x, 29 const std::vector<double>& a_edges_x, 30 const std::vector<double>& a_edges_y) 30 const std::vector<double>& a_edges_y) 31 :parent(a_title,a_edges_x,a_edges_y) 31 :parent(a_title,a_edges_x,a_edges_y) 32 {} 32 {} 33 33 34 virtual ~h2d(){} 34 virtual ~h2d(){} 35 public: 35 public: 36 h2d(const h2d& a_from): parent(a_from){} 36 h2d(const h2d& a_from): parent(a_from){} 37 h2d& operator=(const h2d& a_from){ 37 h2d& operator=(const h2d& a_from){ 38 parent::operator=(a_from); 38 parent::operator=(a_from); 39 return *this; 39 return *this; 40 } 40 } 41 41 42 private:static void check_instantiation() {h2d 42 private:static void check_instantiation() {h2d dummy("",10,0,1,10,0,1);} 43 }; 43 }; 44 44 45 }} 45 }} 46 46 47 #endif 47 #endif 48 48 49 49 50 50 51 51