Changeset 1067 in Sophya for trunk


Ignore:
Timestamp:
Jul 12, 2000, 7:24:33 PM (25 years ago)
Author:
ercodmgr
Message:

piafitting.cc: GeneralData::GetMinMax -> GeneralData::GetMnMx
autres fichiers: intro de gdfrvec (FillGFDfrVec)

cmv 12/07/00

Location:
trunk/SophyaPI/PIext
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PIext/basexecut.cc

    r1035 r1067  
    638638  }
    639639
     640else 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  }
    640652
    641653
     
    10061018usage += "\n  Related commands: ntloop fillnt ObjectExpressions ...";
    10071019mpiac->RegisterCommand(kw, usage, this, "Expr. Plotting");
     1020kw = "gdfrvec";
     1021usage = "Fills a GeneralFitData with vectors X,Y,Z,EZ";
     1022usage += "\n Usage: gdfrvec namegfd X Y";
     1023usage += "\n Usage: gdfrvec namegfd X Y ! EY";
     1024usage += "\n Usage: gdfrvec namegfd X Y Z";
     1025usage += "\n Usage: gdfrvec namegfd X Y Z EZ";
     1026usage += "\n  Related commands: fillgd1 fillgd2 ...";
     1027mpiac->RegisterCommand(kw, usage, this, "Expr. Plotting");
    10081028
    10091029}
  • trunk/SophyaPI/PIext/pawexecut.cc

    r1065 r1067  
    650650// L'histogramme doit deja exister. Le nombre de bins remplit
    651651// 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 "!")
    653653//           = "err2" : on remplit les erreurs de l'histogramme
    654654{
     
    657657   return;}
    658658string toput = "cont"; if(tokens.size()>2) toput = tokens[2];
     659if(toput=="!") toput = "cont";
    659660if(toput!="cont" && toput!="err2")
    660661  {cout<<"PAWExecutor::h_put_vec Error: unknow filling "<<toput<<endl;
     
    697698// Si le vecteur (matrice) n'existe pas, il est cree.
    698699// 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 "!")
    700701//           = "err2" : on copie les erreurs de l'histogramme
    701702//           = "absc" : on copie les erreurs de l'histogramme (1D only)
     
    712713   return;}
    713714string toget = "cont"; if(tokens.size()>2) toget = tokens[2];
     715if(toget=="!") toget = "cont";
    714716if(toget!="cont" && toget!="err2" && toget!="absc")
    715717  {cout<<"PAWExecutor::h_get_vec Error: unknow filling "<<toget<<endl;
  • trunk/SophyaPI/PIext/piafitting.cc

    r1052 r1067  
    548548  else if(mH)  mOpt.xc = (mH->XMin()+mH->XMax())/2.;
    549549  else if(mH2) mOpt.xc = (mH2->XMin()+mH2->XMax())/2.;
    550   else if(mG)  {double mini,maxi; mG->GetMinMax(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.;}
    551551  else if(mIm) {mOpt.xc = mIm->XOrg() * mIm->XPxSize()*(mOpt.i2-mOpt.i1+1)/2.;}
    552552}
     
    554554  if(mM)  mOpt.yc = (mOpt.j2-mOpt.j1+1)/2.;
    555555  if(mH2) mOpt.yc = (mH2->YMin()+mH2->YMax())/2.;
    556   if(mG)  {double mini,maxi; mG->GetMinMax(12,mini,maxi); mOpt.yc=(mini+maxi)/2.;}
     556  if(mG)  {double mini,maxi; mG->GetMnMx(12,mini,maxi); mOpt.yc=(mini+maxi)/2.;}
    557557  if(mIm) {mOpt.yc = mIm->YOrg() * mIm->YPxSize()*(mOpt.j2-mOpt.j1+1)/2.;}
    558558}
     
    622622}
    623623
    624 if(mOpt.lpg>1) {
     624if(mOpt.lp>2) {
    625625  mGData->PrintStatus();
    626626  mGData->PrintData(0);
    627627  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;
    628638}
    629639
     
    15181528void PIAFitterWind::Process(PIMessage msg, PIMsgHandler* sender, void* data)
    15191529{
    1520 int lp = (mFitter->mOpt.lp>2)?1:0;;
     1530int lp = (mFitter->mOpt.lp>2)?1:0;
    15211531int npar = mFitter->mNPar;
    15221532
     
    15961606  if(ReFillGData) mFitter->FillGData();
    15971607  ReFillGData = false;
    1598   if(mFitter->mFit) mFitter->mFit->PrintStatus();
    15991608}
    16001609else if(msg ==111) {
  • trunk/SophyaPI/PIext/servnobjm.cc

    r1057 r1067  
    10241024}
    10251025
     1026/* --Methode-- cmv 12/07/00 */
     1027void 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
     1040if(nomgfd=="!" || nomgfd.length()<1)
     1041  {cout<<"FillGFDfrVec_Error: bad GenaralData name "<<nomgfd<<endl; return;}
     1042if(namx=="!" || namx.length()<1)
     1043  {cout<<"FillGFDfrVec_Error: bad X vector name "<<namx<<endl; return;}
     1044if(namy=="!" || namy.length()<1)
     1045  {cout<<"FillGFDfrVec_Error: bad Y vector name "<<namy<<endl; return;}
     1046if(namz.length()<1) namz = "!";
     1047if(name.length()<1) name = "!";
     1048int nvar = 0;
     1049if(namz=="!") nvar = 1; else nvar = 2;
     1050
     1051// Identify data
     1052NamedObjMgr omg;
     1053AnyDataObj* mobj = NULL;
     1054Vector* v;
     1055int nel = 0;
     1056r_8 *x=NULL, *y=NULL, *z=NULL,* ez=NULL;
     1057
     1058if( (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
     1064if( (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
     1070if( 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
     1076if(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
     1084if(nel<=0)
     1085  {cout<<"FillGFDfrVec_Error: bad number of elements "<<nel<<endl; return;}
     1086
     1087// Create GeneralData and fill it with vectors
     1088GeneralFitData* gfd = new GeneralFitData(nvar,nel+5,0);
     1089if(nvar==1) gfd->SetData1(nel,x,z,ez);     // On remplit Y=f(X)
     1090else        gfd->SetData2(nel,x,y,z,ez);   // On remplit Z=f(X,y)
     1091
     1092// Menage et table d'objets
     1093if( omg.GetObj(nomgfd) != NULL ) omg.DelObj(nomgfd);
     1094mOmg->AddObj(gfd,nomgfd);
     1095return;
     1096}
    10261097
    10271098/* --Methode-- */
  • trunk/SophyaPI/PIext/servnobjm.h

    r551 r1067  
    9191  virtual void          FillGFD(string & nom, string& expx, string& expy, string& expz,
    9292                               string& experr, string& expcut, string& nomgfd, string loop="");
     93  virtual void          FillGFDfrVec(string nomgfd,string namx,string namy,string namz,string name);
    9394  virtual void          FillNTFrCFile(string & nom, string const & fname,
    9495                                      string const & funcname, string & nomnt, string loop="");
Note: See TracChangeset for help on using the changeset viewer.