Changeset 3053 in Sophya for trunk/SophyaLib/HiStats/histerr.cc
- Timestamp:
- Aug 12, 2006, 7:29:29 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/HiStats/histerr.cc
r3049 r3053 17 17 /*! Constructeur par defaut */ 18 18 HistoErr::HistoErr(void) 19 19 : Histo(), mNData(NULL), mCorrel(0) 20 20 { 21 21 } … … 24 24 /*! Constructeur d'un histo de nBin bins allant de xMin a xMax */ 25 25 HistoErr::HistoErr(r_8 xMin, r_8 xMax, int_4 nBin) 26 : Histo(xMin,xMax,nBin), mNData(NULL), mCorrel(0) 27 { 28 this->Errors(); 29 allocate_mNData(nBin); 30 Zero(); 26 : Histo(), mNData(NULL) 27 { 28 CreateOrResize(xMin,xMax,nBin); 31 29 } 32 30 … … 34 32 /*! Constructeur par copie */ 35 33 HistoErr::HistoErr(const HistoErr& H) 36 : Histo(H), mNData(NULL), mCorrel(H.mCorrel) 37 { 38 allocate_mNData(H.mBins); 39 if(mBins>0) memcpy(mNData,H.mNData,mBins*sizeof(r_8)); 34 : Histo(H), mNData((H.mBins>0)? new r_8[H.mBins] : NULL), mCorrel(H.mCorrel) 35 { 36 if(mNData>0) memcpy(mNData,H.mNData,mBins*sizeof(r_8)); 40 37 } 41 38 … … 48 45 49 46 /********* Methode *********/ 47 /*! Gestion de l'allocation */ 48 void HistoErr::CreateOrResize(r_8 xMin, r_8 xMax, int_4 nBin) 49 { 50 //cout<<"HistoErr::CreateOrResize()"<<endl; 51 Histo::CreateOrResize(xMin,xMax,nBin); 52 Histo::Errors(); 53 allocate_mNData(nBin); 54 mCorrel = 0; 55 } 56 57 /********* Methode *********/ 50 58 /*! Allocation du tableau mNData */ 51 59 void HistoErr::allocate_mNData(int nbin) 52 60 { 53 if(nbin<=0) return; 54 if(mNData) {delete [] mNData; mNData=NULL;} 55 mNData = new r_8[nbin]; 61 if(mNData) {delete [] mNData; mNData=NULL;} 62 if(nbin<=0) return; 63 mNData = new r_8[nbin]; 64 memset(mNData,0,nbin*sizeof(r_8)); 56 65 } 57 66 … … 60 69 void HistoErr::Delete(void) 61 70 { 62 Histo::Delete(); 63 if(mNData) {delete [] mNData; mNData=NULL;} 71 //cout<<"HistoErr::Delete()"<<endl; 72 Histo::Delete(); 73 if(mNData) {delete [] mNData; mNData=NULL;} 74 mCorrel = 0; 64 75 } 65 76 … … 70 81 void HistoErr::Zero(void) 71 82 { 72 Histo::Zero();73 if(mNData) memset(mNData,0,mBins*sizeof(r_8));74 mCorrel = 0;83 Histo::Zero(); 84 if(mNData) memset(mNData,0,mBins*sizeof(r_8)); 85 mCorrel = 0; 75 86 } 76 87 … … 201 212 } 202 213 214 /********* Methode *********/ 215 /*! 216 Print info 217 */ 218 void HistoErr::Show(ostream & os) const 219 { 220 Histo::Show(os); 221 os <<" ncorrel="<<mCorrel<< endl; 222 } 223 203 224 /////////////////////////////////////////////////////////// 204 225 // --------------------------------------------------------
Note:
See TracChangeset
for help on using the changeset viewer.