- Timestamp:
- Jul 12, 2000, 7:24:33 PM (25 years ago)
- Location:
- trunk/SophyaPI/PIext
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaPI/PIext/basexecut.cc
r1035 r1067 638 638 } 639 639 640 else if (kw == "gdfrvec" ) { 641 if(tokens.size()<3) { 642 cout<<"Usage: gdfrvec namegfd X Y\n" 643 <<" gdfrvec namegfd X Y" 644 <<" gdfrvec namegfd X Y ! EY\n" 645 <<" gdfrvec namegfd X Y Z\n" 646 <<" gdfrvec namegfd X Y Z EZ"<<endl; 647 return(0); 648 } 649 while(tokens.size()<5) tokens.push_back("!"); 650 srvo->FillGFDfrVec(tokens[0],tokens[1],tokens[2],tokens[3],tokens[4]); 651 } 640 652 641 653 … … 1006 1018 usage += "\n Related commands: ntloop fillnt ObjectExpressions ..."; 1007 1019 mpiac->RegisterCommand(kw, usage, this, "Expr. Plotting"); 1020 kw = "gdfrvec"; 1021 usage = "Fills a GeneralFitData with vectors X,Y,Z,EZ"; 1022 usage += "\n Usage: gdfrvec namegfd X Y"; 1023 usage += "\n Usage: gdfrvec namegfd X Y ! EY"; 1024 usage += "\n Usage: gdfrvec namegfd X Y Z"; 1025 usage += "\n Usage: gdfrvec namegfd X Y Z EZ"; 1026 usage += "\n Related commands: fillgd1 fillgd2 ..."; 1027 mpiac->RegisterCommand(kw, usage, this, "Expr. Plotting"); 1008 1028 1009 1029 } -
trunk/SophyaPI/PIext/pawexecut.cc
r1065 r1067 650 650 // L'histogramme doit deja exister. Le nombre de bins remplit 651 651 // depend des tailles respectives des 2 objets. 652 // tokens[2] = "cont" : on remplit les valeurs de l'histogramme 652 // tokens[2] = "cont" : on remplit les valeurs de l'histogramme (ou "!") 653 653 // = "err2" : on remplit les erreurs de l'histogramme 654 654 { … … 657 657 return;} 658 658 string toput = "cont"; if(tokens.size()>2) toput = tokens[2]; 659 if(toput=="!") toput = "cont"; 659 660 if(toput!="cont" && toput!="err2") 660 661 {cout<<"PAWExecutor::h_put_vec Error: unknow filling "<<toput<<endl; … … 697 698 // Si le vecteur (matrice) n'existe pas, il est cree. 698 699 // Le vecteur ou la matrice est re-dimensionne correctement. 699 // tokens[2] = "cont" : on copie les valeurs de l'histogramme 700 // tokens[2] = "cont" : on copie les valeurs de l'histogramme (ou "!") 700 701 // = "err2" : on copie les erreurs de l'histogramme 701 702 // = "absc" : on copie les erreurs de l'histogramme (1D only) … … 712 713 return;} 713 714 string toget = "cont"; if(tokens.size()>2) toget = tokens[2]; 715 if(toget=="!") toget = "cont"; 714 716 if(toget!="cont" && toget!="err2" && toget!="absc") 715 717 {cout<<"PAWExecutor::h_get_vec Error: unknow filling "<<toget<<endl; -
trunk/SophyaPI/PIext/piafitting.cc
r1052 r1067 548 548 else if(mH) mOpt.xc = (mH->XMin()+mH->XMax())/2.; 549 549 else if(mH2) mOpt.xc = (mH2->XMin()+mH2->XMax())/2.; 550 else if(mG) {double mini,maxi; mG->GetM inMax(2,mini,maxi); mOpt.xc=(mini+maxi)/2.;}550 else if(mG) {double mini,maxi; mG->GetMnMx(2,mini,maxi); mOpt.xc=(mini+maxi)/2.;} 551 551 else if(mIm) {mOpt.xc = mIm->XOrg() * mIm->XPxSize()*(mOpt.i2-mOpt.i1+1)/2.;} 552 552 } … … 554 554 if(mM) mOpt.yc = (mOpt.j2-mOpt.j1+1)/2.; 555 555 if(mH2) mOpt.yc = (mH2->YMin()+mH2->YMax())/2.; 556 if(mG) {double mini,maxi; mG->GetM inMax(12,mini,maxi); mOpt.yc=(mini+maxi)/2.;}556 if(mG) {double mini,maxi; mG->GetMnMx(12,mini,maxi); mOpt.yc=(mini+maxi)/2.;} 557 557 if(mIm) {mOpt.yc = mIm->YOrg() * mIm->YPxSize()*(mOpt.j2-mOpt.j1+1)/2.;} 558 558 } … … 622 622 } 623 623 624 if(mOpt.lp g>1) {624 if(mOpt.lp>2) { 625 625 mGData->PrintStatus(); 626 626 mGData->PrintData(0); 627 627 mGData->PrintData(mGData->NData()-1); 628 double mini,maxi; 629 mGData->GetMnMx(2,mini,maxi); 630 cout<<"Limites ...x0 = ["<<mini<<","<<maxi<<"]"<<endl; 631 if(mNVar==2) 632 {mGData->GetMnMx(12,mini,maxi); 633 cout<<"Limites ...x1 = ["<<mini<<","<<maxi<<"]"<<endl;} 634 mGData->GetMnMx(0,mini,maxi); 635 cout<<"Limites ...y = ["<<mini<<","<<maxi<<"]"<<endl; 636 mGData->GetMnMx(1,mini,maxi); 637 cout<<"Limites ...ey = ["<<mini<<","<<maxi<<"]"<<endl; 628 638 } 629 639 … … 1518 1528 void PIAFitterWind::Process(PIMessage msg, PIMsgHandler* sender, void* data) 1519 1529 { 1520 int lp = (mFitter->mOpt.lp>2)?1:0; ;1530 int lp = (mFitter->mOpt.lp>2)?1:0; 1521 1531 int npar = mFitter->mNPar; 1522 1532 … … 1596 1606 if(ReFillGData) mFitter->FillGData(); 1597 1607 ReFillGData = false; 1598 if(mFitter->mFit) mFitter->mFit->PrintStatus();1599 1608 } 1600 1609 else if(msg ==111) { -
trunk/SophyaPI/PIext/servnobjm.cc
r1057 r1067 1024 1024 } 1025 1025 1026 /* --Methode-- cmv 12/07/00 */ 1027 void Services2NObjMgr::FillGFDfrVec(string nomgfd,string namx,string namy,string namz,string name) 1028 // Pour remplir un ``GeneralFitData'' a partir de vecteurs 1029 //| gdfrvec nomgd X Y ! ! 1030 //| gdfrvec nomgd X Y ! EY 1031 //| gdfrvec nomgd X Y Z ! 1032 //| gdfrvec nomgd X Y Z EZ 1033 //| - nomgfd = nom du generaldata a remplir 1034 //| - namx = nom du vecteur contenant les valeurs X 1035 //| - namy = nom du vecteur contenant les valeurs Y 1036 //| - namz = nom du vecteur contenant les valeurs Z (ou "!") 1037 //| - name = nom du vecteur contenant les valeurs des erreurs EY ou EZ 1038 { 1039 // Decodage des noms des vecteurs pour le remplissage du generaldata 1040 if(nomgfd=="!" || nomgfd.length()<1) 1041 {cout<<"FillGFDfrVec_Error: bad GenaralData name "<<nomgfd<<endl; return;} 1042 if(namx=="!" || namx.length()<1) 1043 {cout<<"FillGFDfrVec_Error: bad X vector name "<<namx<<endl; return;} 1044 if(namy=="!" || namy.length()<1) 1045 {cout<<"FillGFDfrVec_Error: bad Y vector name "<<namy<<endl; return;} 1046 if(namz.length()<1) namz = "!"; 1047 if(name.length()<1) name = "!"; 1048 int nvar = 0; 1049 if(namz=="!") nvar = 1; else nvar = 2; 1050 1051 // Identify data 1052 NamedObjMgr omg; 1053 AnyDataObj* mobj = NULL; 1054 Vector* v; 1055 int nel = 0; 1056 r_8 *x=NULL, *y=NULL, *z=NULL,* ez=NULL; 1057 1058 if( (mobj=omg.GetObj(namx)) == NULL) { 1059 cout<<"FillGFDfrVec_Error: unknown X object "<<namx<<endl; return; 1060 } else { 1061 v = (Vector*) mobj; x = v->Data(); nel=v->NElts(); 1062 } 1063 1064 if( (mobj=omg.GetObj(namy)) == NULL) { 1065 cout<<"FillGFDfrVec_Error: unknown Y object "<<namy<<endl; return; 1066 } else { 1067 v = (Vector*) mobj; y = z = v->Data(); if(v->NElts()<nel) nel=v->NElts(); 1068 } 1069 1070 if( nvar==2 && (mobj=omg.GetObj(namz)) == NULL) { 1071 cout<<"FillGFDfrVec_Error: unknown Z object "<<namz<<endl; return; 1072 } else { 1073 v = (Vector*) mobj; z = v->Data(); if(v->NElts()<nel) nel=v->NElts(); 1074 } 1075 1076 if(name!="!") { 1077 if( (mobj=omg.GetObj(name)) == NULL) { 1078 cout<<"FillGFDfrVec_Error: unknown EZ object "<<name<<endl; return; 1079 } else { 1080 v = (Vector*) mobj; ez = v->Data(); if(v->NElts()<nel) nel=v->NElts(); 1081 } 1082 } 1083 1084 if(nel<=0) 1085 {cout<<"FillGFDfrVec_Error: bad number of elements "<<nel<<endl; return;} 1086 1087 // Create GeneralData and fill it with vectors 1088 GeneralFitData* gfd = new GeneralFitData(nvar,nel+5,0); 1089 if(nvar==1) gfd->SetData1(nel,x,z,ez); // On remplit Y=f(X) 1090 else gfd->SetData2(nel,x,y,z,ez); // On remplit Z=f(X,y) 1091 1092 // Menage et table d'objets 1093 if( omg.GetObj(nomgfd) != NULL ) omg.DelObj(nomgfd); 1094 mOmg->AddObj(gfd,nomgfd); 1095 return; 1096 } 1026 1097 1027 1098 /* --Methode-- */ -
trunk/SophyaPI/PIext/servnobjm.h
r551 r1067 91 91 virtual void FillGFD(string & nom, string& expx, string& expy, string& expz, 92 92 string& experr, string& expcut, string& nomgfd, string loop=""); 93 virtual void FillGFDfrVec(string nomgfd,string namx,string namy,string namz,string name); 93 94 virtual void FillNTFrCFile(string & nom, string const & fname, 94 95 string const & funcname, string & nomnt, string loop="");
Note:
See TracChangeset
for help on using the changeset viewer.