Geant4 Cross Reference |
1 // Copyright (C) 2010, Guy Barrand. All rights reserved. 2 // See the file tools.license for terms. 3 4 #ifndef tools_histo_h3d 5 #define tools_histo_h3d 6 7 #include "h3" 8 9 namespace tools { 10 namespace histo { 11 12 class h3d : public h3<double,unsigned int,unsigned int,double,double> { 13 typedef h3<double,unsigned int,unsigned int,double,double> parent; 14 public: 15 static const std::string& s_class() { 16 static const std::string s_v("tools::histo::h3d"); 17 return s_v; 18 } 19 const std::string& s_cls() const {return s_class();} 20 public: 21 h3d():parent("",10,0,1,10,0,1,10,0,1){} //for I/O when reading. 22 23 h3d(const std::string& a_title, 24 unsigned int aXnumber,double aXmin,double aXmax, 25 unsigned int aYnumber,double aYmin,double aYmax, 26 unsigned int aZnumber,double aZmin,double aZmax) 27 :parent(a_title,aXnumber,aXmin,aXmax, 28 aYnumber,aYmin,aYmax, 29 aZnumber,aZmin,aZmax) 30 {} 31 32 h3d(const std::string& a_title, 33 const std::vector<double>& a_edges_x, 34 const std::vector<double>& a_edges_y, 35 const std::vector<double>& a_edges_z) 36 :parent(a_title,a_edges_x,a_edges_y,a_edges_z) 37 {} 38 39 virtual ~h3d(){} 40 public: 41 h3d(const h3d& a_from): parent(a_from){} 42 h3d& operator=(const h3d& a_from){ 43 parent::operator=(a_from); 44 return *this; 45 } 46 47 private:static void check_instantiation() {h3d dummy("",10,0,1,10,0,1,10,0,1);} 48 }; 49 50 }} 51 52 #endif 53 54 55 56