Changeset 1207 in Sophya for trunk/SophyaPI/PIext/nomhistadapter.cc
- Timestamp:
- Sep 29, 2000, 4:26:15 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaPI/PIext/nomhistadapter.cc
r1165 r1207 11 11 #include "servnobjm.h" 12 12 13 #ifndef SANS_EVOLPLANCK 14 #include "objfitter.h" 15 #endif 16 13 17 //------------------------------------------------------------------------- 14 18 // Class Adaptateur d'objet (Pour NamedObjMgr) d'objet Histo / HProf … … 88 92 } 89 93 94 /* --Methode-- */ 95 GeneralFitData* NOMAdapter_Histo::GetGeneralFitData(bool& adel 96 ,GeneralFitData::FitErrType errtype,double errscale,double errmin 97 ,int i1,int i2,int j1,int j2) 98 { 99 adel = false; 100 if(!mHis) return(NULL); 101 102 int nx = mHis->NBins(); 103 if(nx<=0) return(NULL); 104 105 i1 = (i1<0||i1>=nx)? 0: i1; 106 i2 = (i2<0||i2>=nx||i2<i1)? nx-1: i2; 107 108 GeneralFitData* mGData = new GeneralFitData(1,i2-i1+1,0); 109 adel = true; 110 111 for(int i=i1;i<=i2;i++) { 112 double x = mHis->BinCenter(i); 113 double f = (*mHis)(i); 114 double e = (mHis->HasErrors())? mHis->Error(i) : 1.; 115 e = GeneralFitData::ComputeError(f,e,errtype,errscale,errmin); 116 mGData->AddData1(x,f,e); 117 } 118 119 return mGData; 120 } 121 122 AnyDataObj* NOMAdapter_Histo::FitResidusObj(GeneralFit& mfit) 123 { 124 Histo* h = NULL; 125 #ifdef SANS_EVOLPLANCK 126 h = mHis->FitResidus(mfit); 127 #else 128 h = new Histo(ObjectFitter::FitResidus(*mHis,mfit)); 129 #endif 130 return h; 131 } 132 133 AnyDataObj* NOMAdapter_Histo::FitFunctionObj(GeneralFit& mfit) 134 { 135 Histo* h = NULL; 136 #ifdef SANS_EVOLPLANCK 137 h = mHis->FitFunction(mfit); 138 #else 139 h = new Histo(ObjectFitter::FitFunction(*mHis,mfit)); 140 #endif 141 return h; 142 } 90 143 91 144 // ------------------------------------------------------------- … … 215 268 } 216 269 270 271 /* --Methode-- */ 272 GeneralFitData* NOMAdapter_Histo2D::GetGeneralFitData(bool& adel 273 ,GeneralFitData::FitErrType errtype,double errscale,double errmin 274 ,int i1,int i2,int j1,int j2) 275 { 276 adel = false; 277 if(!mHis) return(NULL); 278 279 int nx = mHis->NBinX(); 280 int ny = mHis->NBinY(); 281 if(nx<=0 || ny<=0) return(NULL); 282 283 i1 = (i1<0||i1>=nx)? 0: i1; 284 i2 = (i2<0||i2>=nx||i2<i1)? nx-1: i2; 285 j1 = (j1<0||j1>=ny)? 0: j1; 286 j2 = (j2<0||j2>=ny||j2<j1)? ny-1: j2; 287 288 GeneralFitData* mGData = new GeneralFitData(2,(i2-i1+1)*(j2-j1+1),0); 289 adel = true; 290 291 for(int i=i1;i<=i2;i++) for(int j=j1;j<=j2;j++) { 292 double x,y; mHis->BinCenter(i,j,x,y); 293 double f = (*mHis)(i,j); 294 double e = (mHis->HasErrors())? mHis->Error(i,j) : 1.; 295 e = GeneralFitData::ComputeError(f,e,errtype,errscale,errmin); 296 mGData->AddData2(x,y,f,e); 297 } 298 299 return mGData; 300 } 301 302 AnyDataObj* NOMAdapter_Histo2D::FitResidusObj(GeneralFit& mfit) 303 { 304 Histo2D* h2 = NULL; 305 #ifdef SANS_EVOLPLANCK 306 h2 = mHis->FitFunction(mfit); 307 #else 308 h2 = new Histo2D(ObjectFitter::FitResidus(*mHis,mfit)); 309 #endif 310 return h2; 311 } 312 313 AnyDataObj* NOMAdapter_Histo2D::FitFunctionObj(GeneralFit& mfit) 314 { 315 Histo2D* h2 = NULL; 316 #ifdef SANS_EVOLPLANCK 317 h2 = mHis->FitFunction(mfit); 318 #else 319 h2 = new Histo2D(ObjectFitter::FitFunction(*mHis,mfit)); 320 #endif 321 return h2; 322 } 217 323 218 324 … … 403 509 return(mNt); 404 510 } 405 406
Note:
See TracChangeset
for help on using the changeset viewer.