void modelinfo(void) { goto_xy(5,1); scrcolor(Red,BGmain); print(" Model: "); scrcolor(FGmain,BGmain); print(currentModelName()); if(forceUG) print("/Unitary Gauge/"); else print(" "); }
static void writeSLHA(void) { int i; FILE *f; char fName[100]; for(i=1;;i++) { sprintf(fName,"decaySLHA%d.txt",i); if(access(fName,R_OK)) break; } f=fopen(fName,"w"); fprintf(f,"BLOCK ModelParameters # %s\n",currentModelName()); for(i=0;i<nModelVars;i++) fprintf(f," %3d %16E # %s\n",i+1, (double)varValues[i], varNames[i]); fprintf(f,"#\n"); for(i=0;i<nModelParticles;i++) { fprintf(f,"BLOCK QNUMBERS %d # %s\n", ModelPrtcls[i].NPDG, ModelPrtcls[i].name); fprintf(f," 1 %d # 3*el.charge\n 2 %d # 2*spin+1\n 3 %d # color dim\n 4 %d # 0={ self-conjugated}\n#\n", ModelPrtcls[i].q3, ModelPrtcls[i].spin2+1, ModelPrtcls[i].cdim, strcmp(ModelPrtcls[i].name,ModelPrtcls[i].aname)? 1:0 ); } fprintf(f,"BLOCK MASS\n"); for(i=0;i<nModelParticles;i++) { char *name=ModelPrtcls[i].name; fprintf(f," %d %E # %s\n",ModelPrtcls[i].NPDG,pMass(name),name); } fprintf(f,"#\n"); for(i=0;i<nModelParticles;i++) { txtList all=NULL; double mass,width; char *name; if( strcmp(ModelPrtcls[i].mass,"0")==0) continue; if( strcmp(ModelPrtcls[i].width,"0")==0) continue; name=ModelPrtcls[i].name; mass=pMass(name); if(!mass) continue; slhaDecayPrint(name,0,f); fprintf(f,"#\n"); } fclose(f); { char buff[100]; sprintf(buff,"See results in file '%s'", fName); messanykey(16,5,buff); } }