Changeset 3057 in Sophya for trunk/SophyaLib/HiStats/histerr.cc
- Timestamp:
- Aug 13, 2006, 12:41:09 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/HiStats/histerr.cc
r3053 r3057 49 49 { 50 50 //cout<<"HistoErr::CreateOrResize()"<<endl; 51 bool samelen = (nBin==mBins)? true: false; 51 52 Histo::CreateOrResize(xMin,xMax,nBin); 52 53 Histo::Errors(); 53 allocate_mNData(nBin); 54 if(mNData!=NULL && !samelen) {delete [] mNData; mNData=NULL;} 55 if(nBin>0 && mNData==NULL) mNData = new r_8[nBin]; 56 if(mNData) memset(mNData,0,nBin*sizeof(r_8)); 54 57 mCorrel = 0; 55 }56 57 /********* Methode *********/58 /*! Allocation du tableau mNData */59 void HistoErr::allocate_mNData(int nbin)60 {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));65 58 } 66 59 … … 199 192 { 200 193 if(this==&h) return *this; 201 Delete(); 202 if(h.mBins<=0) return *this; 203 204 // Copy the "Histo" part 205 (Histo)(*this) = Histo::operator=(h); 206 // Copy the "entries by bin" table 207 allocate_mNData(h.mBins); 208 memcpy(mNData,h.mNData,mBins*sizeof(r_8)); 194 CreateOrResize(h.mMin,h.mMax,h.mBins); 195 if(mData) memcpy(mData,h.mData,mBins*sizeof(r_8)); 196 if(mErr2) memcpy(mErr2,h.mErr2,mBins*sizeof(r_8)); 197 mUnder = h.mUnder; mOver = h.mOver; 198 nHist = h.nHist; nEntries = h.nEntries; 199 if(mNData) memcpy(mNData,h.mNData,mBins*sizeof(r_8)); 209 200 mCorrel = h.mCorrel; 210 201 … … 244 235 // Lecture des donnees HistoErr 245 236 is.Get(dobj->mBins); 246 dobj->allocate_mNData(dobj->mBins);237 if(dobj->mBins>0) dobj->mNData = new r_8[dobj->mBins]; 247 238 is.Get(dobj->mNData, dobj->mBins); 248 239
Note:
See TracChangeset
for help on using the changeset viewer.