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