Пример #1
0
int sortOddParticles(char * lsp)
{ int i,err;

  if(!modelNum)
  {
    int i,k,L;
    struct utsname buff;

    L=strlen(WORK);
    modelDir=malloc(L+15);  sprintf(modelDir,"%s/models",WORK);
    modelNum=1;
  
    calchepDir=malloc(strlen(WORK)+15);strcpy(calchepDir,WORK);
    for(i=L-1,k=2;i;i--) 
     {char ch=calchepDir[i]; calchepDir[i]=0; if(ch=='/') k--; if(k==0) break;}  
    strcat(calchepDir,"/CalcHEP_src");
    
    uname(&buff);
    compDir=malloc(strlen(WORK)+strlen(buff.nodename)+25);  
    strcpy(compDir,WORK);
    sprintf(compDir+strlen(compDir),"/_%s_%d_",buff.nodename,getpid());
      
    libDir=malloc(L+15); sprintf(libDir,"%s/so_generated",WORK);  
  }
  
  if(omegaCh) {free(omegaCh); omegaCh=NULL;}
  if(vSigmaTCh) {free(vSigmaTCh); vSigmaTCh=NULL;}
  if(vSigmaCh)  {free(vSigmaCh);  vSigmaCh=NULL; } 
  err=testSubprocesses();
  if(err)
  {
    strcpy(lsp,varNames[err]);
    return err;
  }

/*  
  if(Mcdm<0.1) 
  { sprintf(lsp,"Mcdm(%s)<0.1",inP[LSP]);
    return -1;
  } 
*/  
  if(sWidth>0) for(i=0;i< Nodd;i++) assignVal(OddPrtcls[i].width,sWidth*Mcdm);
  if(lsp) strcpy(lsp,inP[LSP]);
  return 0;
}
Пример #2
0
int sortOddParticles(char * lsp)
{ int i,err;
  err=testSubprocesses();
  if(err)
  {
    strcpy(lsp,mainChan->interface->varName[err]);
    return err;
  }
  
  if(M<0.1) 
  { sprintf(lsp,"M(%s)<0.1",inP[LSP]);
    return -1;
  } 
  
  if(sWidth>0) for(i=0;i< Nodd;i++) assignVal(OddPrtcls[i].width,sWidth*M);
  if(lsp) strcpy(lsp,inP[LSP]);
  return 0;
}