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_h1d 5 #define tools_histo_h1d 6 7 #include "h1" 8 9 namespace tools { 10 namespace histo { 11 12 // d in h1d is for double (and not dimension). 13 14 class h1d : public h1<double,unsigned int,unsigned int,double,double> { 15 typedef h1<double,unsigned int,unsigned int,double,double> parent; 16 public: 17 static const std::string& s_class() { 18 static const std::string s_v("tools::histo::h1d"); 19 return s_v; 20 } 21 const std::string& s_cls() const {return s_class();} 22 public: 23 h1d():parent("",10,0,1){} //for I/O when reading. 24 25 h1d(const std::string& a_title,unsigned int aXnumber,double aXmin,double aXmax) 26 :parent(a_title,aXnumber,aXmin,aXmax){} 27 28 h1d(const std::string& a_title,const std::vector<double>& a_edges) 29 :parent(a_title,a_edges){} 30 31 virtual ~h1d(){} 32 public: 33 h1d(const h1d& a_from):parent(a_from){} 34 h1d& operator=(const h1d& a_from){ 35 if(&a_from==this) return *this; 36 parent::operator=(a_from); 37 return *this; 38 } 39 40 private:static void check_instantiation() {h1d h("",10,0,1);h.gather_bins(5);} 41 }; 42 43 }} 44 45 #endif 46 47 48 49