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