- //
- if (fcharge) delete fcharge;
- if (fGRF) delete fGRF;
- memcpy(this, &prf, sizeof(prf));
- fcharge = new Float_t[fNRF];
- memcpy(fcharge,prf.fcharge, fNRF);
- fGRF = new TF1(*(prf.fGRF));
+ if(this!=&prf) {
+ TObject::operator=(prf);
+ fNRF=prf.fNRF;
+ fDSTEPM1=prf.fDSTEPM1;
+ delete [] fcharge;
+ fcharge = new Float_t[fNRF];
+ memcpy(fcharge,prf.fcharge, fNRF*sizeof(Float_t));
+ forigsigma=prf.forigsigma;
+ fpadWidth=prf.fpadWidth;
+ fkNorm=prf.fkNorm;
+ fInteg=prf.fInteg;
+ delete fGRF;
+ fGRF=new TF1(*(prf.fGRF));