#include <GeneratorInterface/PomwigInterface/interface/PomwigSource.h>
Public Member Functions | |
void | endRun (Run &r) |
PomwigSource (const ParameterSet &, const InputSourceDescription &) | |
virtual | ~PomwigSource () |
Private Member Functions | |
void | clear () |
bool | hwgive (const std::string &iParm) |
virtual bool | produce (Event &e) |
bool | setRngSeeds (int) |
Private Attributes | |
double | comenergy |
int | diffTopology |
bool | doMPInteraction_ |
bool | enableForcedDecays |
HepMC::GenEvent * | evt |
double | extCrossSect |
double | extFilterEff |
bool | herwigHepMCVerbosity_ |
int | herwigLhapdfVerbosity_ |
int | herwigVerbosity_ |
double | intCrossSect |
std::string | lhapdfSetPath_ |
int | maxEventsToPrint_ |
int | numTrials_ |
bool | printCards_ |
double | survivalProbability |
bool | useJimmy_ |
Definition at line 22 of file PomwigSource.h.
PomwigSource::PomwigSource | ( | const ParameterSet & | pset, | |
const InputSourceDescription & | desc | |||
) |
Definition at line 50 of file PomwigSource.cc.
References c2, comenergy, edm::errors::Configuration, GenMuonPlsPt100GeV_cfg::cout, diffTopology, doMPInteraction_, enableForcedDecays, lat::endl(), f2, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), herwigHepMCVerbosity_, herwigLhapdfVerbosity_, herwigVerbosity_, hwgive(), hwmodk, hwprop, i, int, jimmin, jminit, jmparm, lhapdfSetPath_, edm::InputSource::maxEvents(), maxEventsToPrint_, mysetpdfpath, NULL, numTrials_, pars, printCards_, qcd_1994, qcd_2006, randomEngine, setherwpdf, setRngSeeds(), and useJimmy_.
00051 : 00052 GeneratedInputSource(pset, desc), evt(0), 00053 herwigVerbosity_ (pset.getUntrackedParameter<int>("herwigVerbosity",0)), 00054 herwigHepMCVerbosity_ (pset.getUntrackedParameter<bool>("herwigHepMCVerbosity",false)), 00055 herwigLhapdfVerbosity_ (pset.getUntrackedParameter<int>("herwigLhapdfVerbosity",0)), 00056 maxEventsToPrint_ (pset.getUntrackedParameter<int>("maxEventsToPrint",0)), 00057 comenergy(pset.getUntrackedParameter<double>("comEnergy",14000.)), 00058 lhapdfSetPath_(pset.getUntrackedParameter<string>("lhapdfSetPath","")), 00059 printCards_(pset.getUntrackedParameter<bool>("printCards",false)), 00060 extCrossSect(pset.getUntrackedParameter<double>("crossSection", -1.)), 00061 extFilterEff(pset.getUntrackedParameter<double>("filterEfficiency", -1.)), 00062 survivalProbability(pset.getUntrackedParameter<double>("survivalProbability", 0.05)), 00063 diffTopology(pset.getParameter<int>("diffTopology")), 00064 enableForcedDecays(pset.getUntrackedParameter<bool>("enableForcedDecays",false)) 00065 { 00066 useJimmy_ = false; 00067 numTrials_ = 100; 00068 doMPInteraction_ = false; 00069 00070 std::ostringstream header_str; 00071 00072 header_str << "----------------------------------------------\n"; 00073 header_str << "Initializing PomwigSource\n"; 00074 header_str << "----------------------------------------------\n"; 00075 00076 00077 /* herwigVerbosity Level IPRINT 00078 valid argumets are: 0: print title only 00079 1: + print selected input parameters 00080 2: + print table of particle codes and properties 00081 3: + tables of Sudakov form factors 00082 *** NOT IMPLEMENTED *** 00083 LHA vebosity: 0=silent 00084 1=lowkey (default) 00085 2=all 00086 */ 00087 00088 header_str << " Herwig verbosity level = " << herwigVerbosity_ << "\n"; 00089 header_str << " LHAPDF verbosity level = " << herwigLhapdfVerbosity_ << "\n"; 00090 header_str << " HepMC verbosity = " << herwigHepMCVerbosity_ << "\n"; 00091 header_str << " Number of events to be printed = " << maxEventsToPrint_ << "\n"; 00092 00093 00094 if(useJimmy_) { 00095 header_str << " HERWIG will be using JIMMY for UE/MI." << "\n"; 00096 if(doMPInteraction_) 00097 header_str << " JIMMY trying to generate multiple interactions." << "\n"; 00098 } 00099 00100 // setting up lhapdf path name from environment varaible (***) 00101 char* lhaPdfs = NULL; 00102 header_str<<" Trying to find LHAPATH in environment ..."; 00103 lhaPdfs = getenv("LHAPATH"); 00104 if(lhaPdfs != NULL) { 00105 header_str<<" done.\n"; 00106 lhapdfSetPath_=std::string(lhaPdfs); 00107 header_str<<" Using "<< lhapdfSetPath_ << "\n"; 00108 } 00109 else{ 00110 header_str<<" failed.\n"; 00111 header_str<<" Using "<< lhapdfSetPath_ << "\n"; 00112 } 00113 00114 00115 // Call hwudat to set up HERWIG block data 00116 hwudat(); 00117 00118 // Setting basic parameters ... 00119 hwproc.PBEAM1 = comenergy/2.; 00120 hwproc.PBEAM2 = comenergy/2.; 00121 // Choose beam particles for POMWIG depending on topology 00122 switch (diffTopology){ 00123 case 0: //DPE 00124 hwbmch.PART1[0] = 'E'; 00125 hwbmch.PART1[1] = '-'; 00126 hwbmch.PART2[0] = 'E'; 00127 hwbmch.PART2[1] = '-'; 00128 break; 00129 case 1: //SD survive PART1 00130 hwbmch.PART1[0] = 'E'; 00131 hwbmch.PART1[1] = '-'; 00132 hwbmch.PART2[0] = 'P'; 00133 hwbmch.PART2[1] = ' '; 00134 break; 00135 case 2: //SD survive PART2 00136 hwbmch.PART1[0] = 'P'; 00137 hwbmch.PART1[1] = ' '; 00138 hwbmch.PART2[0] = 'E'; 00139 hwbmch.PART2[1] = '-'; 00140 break; 00141 case 3: //Non diffractive 00142 hwbmch.PART1[0] = 'P'; 00143 hwbmch.PART1[1] = ' '; 00144 hwbmch.PART2[0] = 'P'; 00145 hwbmch.PART2[1] = ' '; 00146 break; 00147 default: 00148 throw edm::Exception(edm::errors::Configuration,"PomwigError") 00149 <<" Invalid Diff. Topology. Must be DPE(diffTopology = 0), SD particle 1 (diffTopology = 1), SD particle 2 (diffTopology = 2) and Non diffractive (diffTopology = 3)"; 00150 break; 00151 } 00152 for(int i=2;i<8;++i){ 00153 hwbmch.PART1[i] = ' '; 00154 hwbmch.PART2[i] = ' ';} 00155 00156 int numEvents = maxEvents(); 00157 if(useJimmy_) jmparm.MSFLAG = 1; 00158 00159 // initialize other common blocks ... 00160 hwigin(); 00161 00162 double fracErrors_ = pset.getUntrackedParameter<double>("fracErrors",0.1); 00163 int maxerrors = int(fracErrors_*numEvents); 00164 hwevnt.MAXER = maxerrors; 00165 if(hwevnt.MAXER<100) hwevnt.MAXER = 100; 00166 header_str << " MAXER set to " << hwevnt.MAXER << "\n"; 00167 00168 if(useJimmy_) jimmin(); 00169 00170 // set some 'non-herwig' defaults 00171 hwevnt.MAXPR = maxEventsToPrint_; // no printing out of events 00172 hwpram.IPRINT = herwigVerbosity_; // HERWIG print out mode 00173 hwprop.RMASS[6] = 175.0; 00174 00175 // Set HERWIG parameters in a single ParameterSet 00176 ParameterSet herwig_params = 00177 pset.getParameter<ParameterSet>("HerwigParameters") ; 00178 00179 // The parameter sets to be read (default, min bias, user ...) in the proper order. 00180 vector<string> setNames = 00181 herwig_params.getParameter<vector<string> >("parameterSets"); 00182 00183 // Loop over the sets 00184 for ( unsigned i=0; i<setNames.size(); ++i ) { 00185 string mySet = setNames[i]; 00186 vector<string> pars = 00187 herwig_params.getParameter<vector<string> >(mySet); 00188 00189 header_str << "----------------------------------------------" << "\n"; 00190 header_str << "Read HERWIG parameter set " << mySet << "\n"; 00191 header_str << "----------------------------------------------" << "\n"; 00192 00193 // Loop over all parameters and stop in case of mistake 00194 for( vector<string>::const_iterator 00195 itPar = pars.begin(); itPar != pars.end(); ++itPar ) { 00196 static string sRandomValueSetting1("NRN(1)"); 00197 static string sRandomValueSetting2("NRN(2)"); 00198 if( (0 == itPar->compare(0,sRandomValueSetting1.size(),sRandomValueSetting1) )||(0 == itPar->compare(0,sRandomValueSetting2.size(),sRandomValueSetting2) )) { 00199 throw edm::Exception(edm::errors::Configuration,"HerwigError") 00200 <<" attempted to set random number using pythia command 'NRN(.)'. This is not allowed.\n Please use the RandomNumberGeneratorService to set the random number seed."; 00201 } 00202 00203 if( ! hwgive(*itPar) ) { 00204 throw edm::Exception(edm::errors::Configuration,"HerwigError") 00205 <<" herwig did not accept the following \""<<*itPar<<"\""; 00206 } 00207 else if(printCards_) 00208 header_str << " " << *itPar << "\n"; 00209 } 00210 } 00211 00212 // setting up herwgi RNG seeds NRN(.) 00213 header_str << "----------------------------------------------" << "\n"; 00214 header_str << "Setting Herwig random number generator seeds" << "\n"; 00215 header_str << "----------------------------------------------" << "\n"; 00216 edm::Service<RandomNumberGenerator> rng; 00217 randomEngine = &(rng->getEngine()); 00218 int wwseed = rng->mySeed(); 00219 bool rngok = setRngSeeds(wwseed); 00220 if(!rngok) 00221 throw edm::Exception(edm::errors::Configuration,"HerwigError") 00222 <<" Impossible error in setting 'NRN(.)'."; 00223 header_str << " NRN(1) = "<<hwevnt.NRN[0]<<"\n"; 00224 header_str << " NRN(2) = "<<hwevnt.NRN[1]<<"\n"; 00225 00226 // set the LHAPDF grid directory and path 00227 setherwpdf(); 00228 char pdfpath[232]; 00229 int pathlen = lhapdfSetPath_.length(); 00230 for(int i=0; i<pathlen; ++i) 00231 pdfpath[i]=lhapdfSetPath_.at(i); 00232 for(int i=pathlen; i<232; ++i) 00233 pdfpath[i]=' '; 00234 mysetpdfpath(pdfpath); 00235 00236 // HERWIG preparations ... 00237 hwuinc(); 00238 00239 // Function for force QQ decay is hwmodk 00240 00241 /* 00242 C----------------------------------------------------------------------- 00243 SUBROUTINE HWMODK(IDKTMP,BRTMP,IMETMP, 00244 & IATMP,IBTMP,ICTMP,IDTMP,IETMP) 00245 C----------------------------------------------------------------------- 00246 C Takes the decay, IDKTMP -> I-(A+B+C+D+E)-TMP, and simply stores it 00247 C if internal pointers not set up (.NOT.DKPSET) else if pre-existing 00248 C mode updates branching ratio BRTMP and matrix element code IMETMP, 00249 C if -ve leaves as is. If a new mode adds to table and if consistent 00250 C adjusts pointers, sets CMMOM (for two-body mode) and resets RSTAB 00251 C if necessary. The branching ratios of any other IDKTMP decays are 00252 C scaled by (1.-BRTMP)/(1.-BR_OLD) 00253 C----------------------------------------------------------------------- 00254 */ 00255 00256 // Initialization 00257 00258 if(enableForcedDecays){ 00259 header_str << "\n----------------------------------------------" << "\n"; 00260 header_str << "HWMODK will be called to force decays" << "\n"; 00261 header_str << "----------------------------------------------" << "\n"; 00262 // Get ParameterSet with settings for forcing decays 00263 ParameterSet fdecays_pset = pset.getParameter<ParameterSet>("ForcedDecaysParameters") ; 00264 vector<int> defidktmp ; 00265 defidktmp.push_back(0) ; 00266 std::vector<int> idktmp = fdecays_pset.getUntrackedParameter< vector<int> >("Idktmp", defidktmp); 00267 vector<double> defbrtmp ; 00268 defbrtmp.push_back(0) ; 00269 std::vector<double> brtmp = fdecays_pset.getUntrackedParameter< vector<double> >("Brtmp",defbrtmp); 00270 vector<int> defimetmp ; 00271 defimetmp.push_back(0) ; 00272 std::vector<int> imetmp = fdecays_pset.getUntrackedParameter< vector<int> >("Imetmp",defimetmp); 00273 vector<int> defiatmp ; 00274 defiatmp.push_back(0) ; 00275 std::vector<int> iatmp = fdecays_pset.getUntrackedParameter< vector<int> >("Iatmp",defiatmp); 00276 vector<int> defibtmp ; 00277 defibtmp.push_back(0) ; 00278 std::vector<int> ibtmp = fdecays_pset.getUntrackedParameter< vector<int> >("Ibtmp",defibtmp); 00279 vector<int> defictmp ; 00280 defictmp.push_back(0) ; 00281 std::vector<int> ictmp = fdecays_pset.getUntrackedParameter< vector<int> >("Ictmp",defictmp); 00282 vector<int> defidtmp ; 00283 defidtmp.push_back(0) ; 00284 std::vector<int> idtmp = fdecays_pset.getUntrackedParameter< vector<int> >("Idtmp",defidtmp); 00285 vector<int> defietmp ; 00286 defietmp.push_back(0) ; 00287 std::vector<int> ietmp = fdecays_pset.getUntrackedParameter< vector<int> >("Ietmp",defietmp); 00288 00289 for (unsigned int i = 0; i < idktmp.size(); i++){ 00290 int idktmp1 = idktmp[i]; 00291 double brtmp1 = brtmp[i]; 00292 int imetmp1 = imetmp[i]; 00293 int iatmp1 = iatmp[i]; 00294 int ibtmp1 = ibtmp[i]; 00295 int ictmp1 = ictmp[i]; 00296 int idtmp1 = idtmp[i]; 00297 int ietmp1 = ietmp[i]; 00298 // Call Herwig function HWMODK 00299 header_str << " Forcing decay " << idktmp1 << "->" << iatmp1 << "+" 00300 << ibtmp1 << "+" 00301 << ictmp1 << "+" 00302 << idtmp1 << "+" 00303 << ietmp1 << " with BR " << brtmp1 << "\n"; 00304 hwmodk(idktmp1, brtmp1, imetmp1, iatmp1, ibtmp1, ictmp1, idtmp1, ietmp1); 00305 } 00306 } 00307 00308 hwusta("PI0 ",1); 00309 00310 // Initialize H1 pomeron/reggeon 00311 if(diffTopology != 3){ 00312 int nstru = hwpram.NSTRU; 00313 int ifit = pset.getParameter<int>("h1fit"); 00314 if(nstru == 9){ 00315 if((ifit <= 0)||(ifit >= 7)){ 00316 throw edm::Exception(edm::errors::Configuration,"PomwigError") 00317 <<" Attempted to set non existant H1 1997 fit index. Has to be 1...6"; 00318 } 00319 cout << " H1 1997 pomeron pdf's" << endl; 00320 cout << " IFIT = "<< ifit << endl; 00321 double xp = 0.1; 00322 double Q2 = 75.0; 00323 double xpq[13]; 00324 qcd_1994(xp,Q2,xpq,ifit); 00325 } else if(nstru == 10){ 00326 if((ifit <= 0)||(ifit >= 7)){ 00327 throw edm::Exception(edm::errors::Configuration,"PomwigError") 00328 <<" Attempted to set non existant H1 1997 fit index. Has to be 1...6"; 00329 } 00330 cout << " H1 1997 reggeon pdf's" << endl; 00331 cout << " IFIT = "<< ifit << endl; 00332 double xp = 0.1; 00333 double Q2 = 75.0; 00334 double xpq[13]; 00335 qcd_1994(xp,Q2,xpq,ifit); 00336 00337 } else if(nstru == 12){ 00338 /*if(ifit != 1){ 00339 throw edm::Exception(edm::errors::Configuration,"PomwigError") 00340 <<" Attempted to set non existant H1 2006 A fit index. Only IFIT=1"; 00341 }*/ 00342 ifit = 1; 00343 cout << " H1 2006 A pomeron pdf's" << endl; 00344 cout << " IFIT = "<< ifit <<endl; 00345 double xp = 0.1; 00346 double Q2 = 75.0; 00347 double xpq[13]; 00348 double f2[2]; 00349 double fl[2]; 00350 double c2[2]; 00351 double cl[2]; 00352 qcd_2006(xp,Q2,ifit,xpq,f2,fl,c2,cl); 00353 } else if(nstru == 13){ 00354 /*if(ifit != 1){ 00355 throw edm::Exception(edm::errors::Configuration,"PomwigError") 00356 <<" Attempted to set non existant H1 2006 A fit index. Only IFIT=1"; 00357 }*/ 00358 ifit = 1; 00359 cout << " H1 2006 A reggeon pdf's" << endl; 00360 cout << " IFIT = "<< ifit <<endl; 00361 double xp = 0.1; 00362 double Q2 = 75.0; 00363 double xpq[13]; 00364 double f2[2]; 00365 double fl[2]; 00366 double c2[2]; 00367 double cl[2]; 00368 qcd_2006(xp,Q2,ifit,xpq,f2,fl,c2,cl); 00369 } else if(nstru == 14){ 00370 /*if(ifit != 2){ 00371 throw edm::Exception(edm::errors::Configuration,"PomwigError") 00372 <<" Attempted to set non existant H1 2006 B fit index. Only IFIT=2"; 00373 }*/ 00374 ifit = 2; 00375 cout << " H1 2006 B pomeron pdf's" << endl; 00376 cout << " IFIT = "<< ifit <<endl; 00377 double xp = 0.1; 00378 double Q2 = 75.0; 00379 double xpq[13]; 00380 double f2[2]; 00381 double fl[2]; 00382 double c2[2]; 00383 double cl[2]; 00384 qcd_2006(xp,Q2,ifit,xpq,f2,fl,c2,cl); 00385 } else if(nstru == 15){ 00386 /*if(ifit != 2){ 00387 throw edm::Exception(edm::errors::Configuration,"PomwigError") 00388 <<" Attempted to set non existant H1 2006 B fit index. Only IFIT=2"; 00389 }*/ 00390 ifit = 2; 00391 cout << " H1 2006 B reggeon pdf's" << endl; 00392 cout << " IFIT = "<< ifit <<endl; 00393 double xp = 0.1; 00394 double Q2 = 75.0; 00395 double xpq[13]; 00396 double f2[2]; 00397 double fl[2]; 00398 double c2[2]; 00399 double cl[2]; 00400 qcd_2006(xp,Q2,ifit,xpq,f2,fl,c2,cl); 00401 } else{ 00402 throw edm::Exception(edm::errors::Configuration,"PomwigError") 00403 <<" Only running Pomeron H1 1997 (NSTRU=9), H1 2006 fit A (NSTRU=12) and H1 2006 fit B (NSTRU=14) or Reggeon H1 1997 (NSTRU=10), H1 2006 fit A (NSTRU=13) and H1 2006 fit B (NSTRU=15)"; 00404 } 00405 } 00406 00407 hweini(); 00408 if(useJimmy_) jminit(); 00409 00410 produces<HepMCProduct>(); 00411 produces<GenInfoProduct, edm::InRun>(); 00412 00413 header_str << "\n----------------------------------------------" << "\n"; 00414 header_str << "Starting event generation" << "\n"; 00415 header_str << "----------------------------------------------" << "\n"; 00416 00417 edm::LogInfo("")<<header_str.str(); 00418 00419 00420 }
PomwigSource::~PomwigSource | ( | ) | [virtual] |
Definition at line 423 of file PomwigSource.cc.
References clear().
00423 { 00424 00425 std::ostringstream footer_str; 00426 00427 footer_str << "----------------------------------------------" << "\n"; 00428 footer_str << "Event generation done" << "\n"; 00429 footer_str << "----------------------------------------------" << "\n"; 00430 00431 LogInfo("") << footer_str.str(); 00432 00433 clear(); 00434 }
Definition at line 436 of file PomwigSource.cc.
References jmefin, and useJimmy_.
Referenced by ~PomwigSource().
Reimplemented from edm::ConfigurableInputSource.
Definition at line 1291 of file PomwigSource.cc.
References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), extCrossSect, extFilterEff, intCrossSect, edm::Run::put(), and survivalProbability.
01291 { 01292 01293 auto_ptr<GenInfoProduct> giprod (new GenInfoProduct()); 01294 01295 //----------------------------------------------- 01296 // compute cross-section (internal HERWIG style) 01297 double RNWGT=1./hwevnt.NWGTS; 01298 double AVWGT=hwevnt.WGTSUM*RNWGT; 01299 01300 intCrossSect=1000.*survivalProbability*AVWGT; 01301 //----------------------------------------------- 01302 01303 giprod->set_cross_section(intCrossSect); 01304 cout<<">>>>> Cross section = " << intCrossSect << std::endl; 01305 giprod->set_external_cross_section(extCrossSect); 01306 giprod->set_filter_efficiency(extFilterEff); 01307 r.put(giprod); 01308 01309 }
bool PomwigSource::hwgive | ( | const std::string & | iParm | ) | [private] |
Definition at line 512 of file PomwigSource.cc.
References Exception, hw6202, hw6203, hw6300, hw6500, hwbosc, hwbrch, hwdist, hwdspn, hwgupr, hwhard, hwminb, hwprop, hwrpar, hwsusy, hwuclu, hwusud, hwuwts, and jmparm.
Referenced by PomwigSource().
00512 { 00513 bool accepted = 1; 00514 00515 00516 if(!strncmp(ParameterString.c_str(),"IPROC",5)) { 00517 hwproc.IPROC = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00518 if(hwproc.IPROC<0) { 00519 throw cms::Exception("HerwigError") 00520 <<" Attempted to set IPROC to a negative value. This is not allowed.\n Please use the McatnloInterface to cope with negative valued IPROCs."; 00521 } 00522 } 00523 else if(!strncmp(ParameterString.c_str(),"AUTPDF(",7)){ 00524 LogWarning("") <<" WARNING: AUTPDF parameter *not* suported. HERWIG will use LHAPDF."<<"\n"; 00525 } 00526 else if(!strncmp(ParameterString.c_str(),"TAUDEC",6)){ 00527 int tostart=0; 00528 while(ParameterString.c_str()[tostart]!='=') tostart++; 00529 tostart++; 00530 while(ParameterString.c_str()[tostart]==' ') tostart++; 00531 int todo = 0; 00532 while(ParameterString.c_str()[todo+tostart]!='\0') { 00533 hwdspn.TAUDEC[todo]=ParameterString.c_str()[todo+tostart]; 00534 todo++; 00535 } 00536 if(todo != 6) { 00537 throw cms::Exception("HerwigError") 00538 <<" Attempted to set TAUDEC to "<<hwdspn.TAUDEC<<". This is not allowed.\n Options for TAUDEC are HERWIG and TAUOLA."; 00539 } 00540 } 00541 else if(!strncmp(ParameterString.c_str(),"BDECAY",6)){ 00542 LogWarning("")<<" WARNING: BDECAY parameter *not* suported. HERWIG will use default b decay."<<"\n"; 00543 } 00544 else if(!strncmp(ParameterString.c_str(),"QCDLAM",6)) 00545 hwpram.QCDLAM = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00546 else if(!strncmp(ParameterString.c_str(),"VQCUT",5)) 00547 hwpram.VQCUT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00548 else if(!strncmp(ParameterString.c_str(),"VGCUT",5)) 00549 hwpram.VGCUT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00550 else if(!strncmp(ParameterString.c_str(),"VPCUT",5)) 00551 hwpram.VPCUT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00552 else if(!strncmp(ParameterString.c_str(),"CLMAX",5)) 00553 hwpram.CLMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00554 else if(!strncmp(ParameterString.c_str(),"CLPOW",5)) 00555 hwpram.CLPOW = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00556 else if(!strncmp(ParameterString.c_str(),"PSPLT(1)",8)) 00557 hwpram.PSPLT[0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00558 else if(!strncmp(ParameterString.c_str(),"PSPLT(2)",8)) 00559 hwpram.PSPLT[1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00560 else if(!strncmp(ParameterString.c_str(),"QDIQK",5)) 00561 hwpram.QDIQK = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00562 else if(!strncmp(ParameterString.c_str(),"PDIQK",5)) 00563 hwpram.PDIQK = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00564 else if(!strncmp(ParameterString.c_str(),"QSPAC",5)) 00565 hwpram.QSPAC = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00566 else if(!strncmp(ParameterString.c_str(),"PTRMS",5)) 00567 hwpram.PTRMS = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00568 else if(!strncmp(ParameterString.c_str(),"IPRINT",6)) 00569 hwpram.IPRINT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00570 else if(!strncmp(ParameterString.c_str(),"PRVTX",5)) 00571 hwpram.PRVTX = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00572 else if(!strncmp(ParameterString.c_str(),"NPRFMT",6)) 00573 hwpram.NPRFMT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00574 else if(!strncmp(ParameterString.c_str(),"PRNDEC",6)) 00575 hwpram.PRNDEC = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00576 else if(!strncmp(ParameterString.c_str(),"PRNDEF",6)) 00577 hwpram.PRNDEF = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00578 else if(!strncmp(ParameterString.c_str(),"PRNTEX",6)) 00579 hwpram.PRNTEX = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00580 else if(!strncmp(ParameterString.c_str(),"PRNWEB",6)) 00581 hwpram.PRNWEB = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00582 else if(!strncmp(ParameterString.c_str(),"MAXPR",5)) 00583 hwevnt.MAXPR = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00584 else if(!strncmp(ParameterString.c_str(),"MAXER",5)) 00585 hwevnt.MAXER = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00586 else if(!strncmp(ParameterString.c_str(),"LWEVT",5)) 00587 hwevnt.LWEVT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00588 else if(!strncmp(ParameterString.c_str(),"LRSUD",5)) 00589 hwpram.LRSUD = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00590 else if(!strncmp(ParameterString.c_str(),"LWSUD",5)) 00591 hwpram.LWSUD = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00592 else if(!strncmp(ParameterString.c_str(),"NRN(1)",6)) 00593 hwevnt.NRN[0] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00594 else if(!strncmp(ParameterString.c_str(),"NRN(2)",6)) 00595 hwevnt.NRN[1] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00596 else if(!strncmp(ParameterString.c_str(),"WGTMAX",6)) 00597 hwevnt.WGTMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00598 else if(!strncmp(ParameterString.c_str(),"NOWGT",5)) 00599 hwevnt.NOWGT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00600 else if(!strncmp(ParameterString.c_str(),"AVWGT",5)) 00601 hwevnt.AVWGT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00602 else if(!strncmp(ParameterString.c_str(),"AZSOFT",6)) 00603 hwpram.AZSOFT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00604 else if(!strncmp(ParameterString.c_str(),"AZSPIN",6)) 00605 hwpram.AZSPIN = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00606 else if(!strncmp(ParameterString.c_str(),"HARDME",6)) 00607 hwpram.HARDME = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00608 else if(!strncmp(ParameterString.c_str(),"SOFTME",6)) 00609 hwpram.SOFTME = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00610 else if(!strncmp(ParameterString.c_str(),"GCUTME",6)) 00611 hwpram.GCUTME = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00612 else if(!strncmp(ParameterString.c_str(),"NCOLO",5)) 00613 hwpram.NCOLO = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00614 else if(!strncmp(ParameterString.c_str(),"NFLAV",5)) 00615 hwpram.NFLAV = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00616 else if(!strncmp(ParameterString.c_str(),"MODPDF(1)",9)) 00617 hwpram.MODPDF[0] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00618 else if(!strncmp(ParameterString.c_str(),"MODPDF(2)",9)) 00619 hwpram.MODPDF[1] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00620 else if(!strncmp(ParameterString.c_str(),"NSTRU",5)) 00621 hwpram.NSTRU = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00622 else if(!strncmp(ParameterString.c_str(),"PRSOF",5)) 00623 hwpram.PRSOF = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00624 else if(!strncmp(ParameterString.c_str(),"ENSOF",5)) 00625 hwpram.ENSOF = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00626 else if(!strncmp(ParameterString.c_str(),"IOPREM",6)) 00627 hwpram.IOPREM = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00628 else if(!strncmp(ParameterString.c_str(),"BTCLM",5)) 00629 hwpram.BTCLM = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00630 else if(!strncmp(ParameterString.c_str(),"ETAMIX",6)) 00631 hwpram.ETAMIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00632 else if(!strncmp(ParameterString.c_str(),"PHIMIX",6)) 00633 hwpram.PHIMIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00634 else if(!strncmp(ParameterString.c_str(),"H1MIX",5)) 00635 hwpram.H1MIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00636 else if(!strncmp(ParameterString.c_str(),"F0MIX",5)) 00637 hwpram.F0MIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00638 else if(!strncmp(ParameterString.c_str(),"F1MIX",5)) 00639 hwpram.F1MIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00640 else if(!strncmp(ParameterString.c_str(),"F2MIX",5)) 00641 hwpram.F2MIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00642 else if(!strncmp(ParameterString.c_str(),"ET2MIX",6)) 00643 hwpram.ET2MIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00644 else if(!strncmp(ParameterString.c_str(),"OMHMIX",6)) 00645 hwpram.OMHMIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00646 else if(!strncmp(ParameterString.c_str(),"PH3MIX",6)) 00647 hwpram.PH3MIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00648 else if(!strncmp(ParameterString.c_str(),"B1LIM",5)) 00649 hwpram.B1LIM = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00650 else if(!strncmp(ParameterString.c_str(),"CLDIR(1)",8)) 00651 hwpram.CLDIR[0] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00652 else if(!strncmp(ParameterString.c_str(),"CLDIR(2)",8)) 00653 hwpram.CLDIR[1] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00654 else if(!strncmp(ParameterString.c_str(),"CLSMR(1)",8)) 00655 hwpram.CLSMR[0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00656 else if(!strncmp(ParameterString.c_str(),"CLSMR(2)",8)) 00657 hwpram.CLSMR[1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00658 else if(!strncmp(ParameterString.c_str(),"RMASS(1)",8)) 00659 hwprop.RMASS[1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00660 else if(!strncmp(ParameterString.c_str(),"RMASS(2)",8)) 00661 hwprop.RMASS[2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00662 else if(!strncmp(ParameterString.c_str(),"RMASS(3)",8)) 00663 hwprop.RMASS[3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00664 else if(!strncmp(ParameterString.c_str(),"RMASS(4)",8)) 00665 hwprop.RMASS[4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00666 else if(!strncmp(ParameterString.c_str(),"RMASS(5)",8)) 00667 hwprop.RMASS[5] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00668 else if(!strncmp(ParameterString.c_str(),"RMASS(6)",8)) 00669 hwprop.RMASS[6] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00670 else if(!strncmp(ParameterString.c_str(),"RMASS(13)",9)) 00671 hwprop.RMASS[13] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00672 else if(!strncmp(ParameterString.c_str(),"SUDORD",6)) 00673 hwusud.SUDORD = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00674 else if(!strncmp(ParameterString.c_str(),"INTER",5)) 00675 hwusud.INTER = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00676 else if(!strncmp(ParameterString.c_str(),"NEGWTS",6)) 00677 hw6203.NEGWTS = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00678 else if(!strncmp(ParameterString.c_str(),"PMBN1",5)) 00679 hwminb.PMBN1 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00680 else if(!strncmp(ParameterString.c_str(),"PMBN2",5)) 00681 hwminb.PMBN2 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00682 else if(!strncmp(ParameterString.c_str(),"PMBN3",5)) 00683 hwminb.PMBN3 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00684 else if(!strncmp(ParameterString.c_str(),"PMBK1",5)) 00685 hwminb.PMBK1 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00686 else if(!strncmp(ParameterString.c_str(),"PMBK2",5)) 00687 hwminb.PMBK2 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00688 else if(!strncmp(ParameterString.c_str(),"PMBM1",5)) 00689 hwminb.PMBM1 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00690 else if(!strncmp(ParameterString.c_str(),"PMBM2",5)) 00691 hwminb.PMBM2 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00692 else if(!strncmp(ParameterString.c_str(),"PMBP1",5)) 00693 hwminb.PMBP1 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00694 else if(!strncmp(ParameterString.c_str(),"PMBP2",5)) 00695 hwminb.PMBP2 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00696 else if(!strncmp(ParameterString.c_str(),"PMBP3",5)) 00697 hwminb.PMBP3 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00698 else if(!strncmp(ParameterString.c_str(),"VMIN2",5)) 00699 hwdist.VMIN2 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00700 else if(!strncmp(ParameterString.c_str(),"EXAG",4)) 00701 hwdist.EXAG = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00702 else if(!strncmp(ParameterString.c_str(),"PRECO",5)) 00703 hwuclu.PRECO = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00704 else if(!strncmp(ParameterString.c_str(),"CLRECO",6)) 00705 hwuclu.CLRECO = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00706 else if(!strncmp(ParameterString.c_str(),"PWT(1)",6)) 00707 hwuwts.PWT[0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00708 else if(!strncmp(ParameterString.c_str(),"PWT(2)",6)) 00709 hwuwts.PWT[1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00710 else if(!strncmp(ParameterString.c_str(),"PWT(3)",6)) 00711 hwuwts.PWT[2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00712 else if(!strncmp(ParameterString.c_str(),"PWT(4)",6)) 00713 hwuwts.PWT[3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00714 else if(!strncmp(ParameterString.c_str(),"PWT(5)",6)) 00715 hwuwts.PWT[4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00716 else if(!strncmp(ParameterString.c_str(),"PWT(6)",6)) 00717 hwuwts.PWT[5] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00718 else if(!strncmp(ParameterString.c_str(),"PWT(7)",6)) 00719 hwuwts.PWT[6] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00720 else if(!strncmp(ParameterString.c_str(),"REPWT(0,0,0)",12)) 00721 hwuwts.REPWT[0][0][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00722 else if(!strncmp(ParameterString.c_str(),"REPWT(0,0,1)",12)) 00723 hwuwts.REPWT[0][0][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00724 else if(!strncmp(ParameterString.c_str(),"REPWT(0,0,2)",12)) 00725 hwuwts.REPWT[0][0][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00726 else if(!strncmp(ParameterString.c_str(),"REPWT(0,0,3)",12)) 00727 hwuwts.REPWT[0][0][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00728 else if(!strncmp(ParameterString.c_str(),"REPWT(0,0,4)",12)) 00729 hwuwts.REPWT[0][0][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00730 else if(!strncmp(ParameterString.c_str(),"REPWT(0,1,0)",12)) 00731 hwuwts.REPWT[0][1][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00732 else if(!strncmp(ParameterString.c_str(),"REPWT(0,1,1)",12)) 00733 hwuwts.REPWT[0][1][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00734 else if(!strncmp(ParameterString.c_str(),"REPWT(0,1,2)",12)) 00735 hwuwts.REPWT[0][1][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00736 else if(!strncmp(ParameterString.c_str(),"REPWT(0,1,3)",12)) 00737 hwuwts.REPWT[0][1][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00738 else if(!strncmp(ParameterString.c_str(),"REPWT(0,1,4)",12)) 00739 hwuwts.REPWT[0][1][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00740 else if(!strncmp(ParameterString.c_str(),"REPWT(0,2,0)",12)) 00741 hwuwts.REPWT[0][2][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00742 else if(!strncmp(ParameterString.c_str(),"REPWT(0,2,1)",12)) 00743 hwuwts.REPWT[0][2][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00744 else if(!strncmp(ParameterString.c_str(),"REPWT(0,2,2)",12)) 00745 hwuwts.REPWT[0][2][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00746 else if(!strncmp(ParameterString.c_str(),"REPWT(0,2,3)",12)) 00747 hwuwts.REPWT[0][2][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00748 else if(!strncmp(ParameterString.c_str(),"REPWT(0,2,4)",12)) 00749 hwuwts.REPWT[0][2][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00750 else if(!strncmp(ParameterString.c_str(),"REPWT(0,3,0)",12)) 00751 hwuwts.REPWT[0][3][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00752 else if(!strncmp(ParameterString.c_str(),"REPWT(0,3,1)",12)) 00753 hwuwts.REPWT[0][3][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00754 else if(!strncmp(ParameterString.c_str(),"REPWT(0,3,2)",12)) 00755 hwuwts.REPWT[0][3][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00756 else if(!strncmp(ParameterString.c_str(),"REPWT(0,3,3)",12)) 00757 hwuwts.REPWT[0][3][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00758 else if(!strncmp(ParameterString.c_str(),"REPWT(0,3,4)",12)) 00759 hwuwts.REPWT[0][3][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00760 else if(!strncmp(ParameterString.c_str(),"REPWT(0,4,0)",12)) 00761 hwuwts.REPWT[0][4][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00762 else if(!strncmp(ParameterString.c_str(),"REPWT(0,4,1)",12)) 00763 hwuwts.REPWT[0][4][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00764 else if(!strncmp(ParameterString.c_str(),"REPWT(0,4,2)",12)) 00765 hwuwts.REPWT[0][4][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00766 else if(!strncmp(ParameterString.c_str(),"REPWT(0,4,3)",12)) 00767 hwuwts.REPWT[0][4][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00768 else if(!strncmp(ParameterString.c_str(),"REPWT(0,4,4)",12)) 00769 hwuwts.REPWT[0][4][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00770 else if(!strncmp(ParameterString.c_str(),"REPWT(1,0,0)",12)) 00771 hwuwts.REPWT[1][0][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00772 else if(!strncmp(ParameterString.c_str(),"REPWT(1,0,1)",12)) 00773 hwuwts.REPWT[1][0][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00774 else if(!strncmp(ParameterString.c_str(),"REPWT(1,0,2)",12)) 00775 hwuwts.REPWT[1][0][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00776 else if(!strncmp(ParameterString.c_str(),"REPWT(1,0,3)",12)) 00777 hwuwts.REPWT[1][0][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00778 else if(!strncmp(ParameterString.c_str(),"REPWT(1,0,4)",12)) 00779 hwuwts.REPWT[1][0][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00780 else if(!strncmp(ParameterString.c_str(),"REPWT(1,1,0)",12)) 00781 hwuwts.REPWT[1][1][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00782 else if(!strncmp(ParameterString.c_str(),"REPWT(1,1,1)",12)) 00783 hwuwts.REPWT[1][1][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00784 else if(!strncmp(ParameterString.c_str(),"REPWT(1,1,2)",12)) 00785 hwuwts.REPWT[1][1][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00786 else if(!strncmp(ParameterString.c_str(),"REPWT(1,1,3)",12)) 00787 hwuwts.REPWT[1][1][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00788 else if(!strncmp(ParameterString.c_str(),"REPWT(1,1,4)",12)) 00789 hwuwts.REPWT[1][1][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00790 else if(!strncmp(ParameterString.c_str(),"REPWT(1,2,0)",12)) 00791 hwuwts.REPWT[1][2][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00792 else if(!strncmp(ParameterString.c_str(),"REPWT(1,2,1)",12)) 00793 hwuwts.REPWT[1][2][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00794 else if(!strncmp(ParameterString.c_str(),"REPWT(1,2,2)",12)) 00795 hwuwts.REPWT[1][2][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00796 else if(!strncmp(ParameterString.c_str(),"REPWT(1,2,3)",12)) 00797 hwuwts.REPWT[1][2][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00798 else if(!strncmp(ParameterString.c_str(),"REPWT(1,2,4)",12)) 00799 hwuwts.REPWT[1][2][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00800 else if(!strncmp(ParameterString.c_str(),"REPWT(1,3,0)",12)) 00801 hwuwts.REPWT[1][3][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00802 else if(!strncmp(ParameterString.c_str(),"REPWT(1,3,1)",12)) 00803 hwuwts.REPWT[1][3][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00804 else if(!strncmp(ParameterString.c_str(),"REPWT(1,3,2)",12)) 00805 hwuwts.REPWT[1][3][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00806 else if(!strncmp(ParameterString.c_str(),"REPWT(1,3,3)",12)) 00807 hwuwts.REPWT[1][3][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00808 else if(!strncmp(ParameterString.c_str(),"REPWT(1,3,4)",12)) 00809 hwuwts.REPWT[1][3][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00810 else if(!strncmp(ParameterString.c_str(),"REPWT(1,4,0)",12)) 00811 hwuwts.REPWT[1][4][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00812 else if(!strncmp(ParameterString.c_str(),"REPWT(1,4,1)",12)) 00813 hwuwts.REPWT[1][4][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00814 else if(!strncmp(ParameterString.c_str(),"REPWT(1,4,2)",12)) 00815 hwuwts.REPWT[1][4][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00816 else if(!strncmp(ParameterString.c_str(),"REPWT(1,4,3)",12)) 00817 hwuwts.REPWT[1][4][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00818 else if(!strncmp(ParameterString.c_str(),"REPWT(1,4,4)",12)) 00819 hwuwts.REPWT[1][4][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00820 else if(!strncmp(ParameterString.c_str(),"REPWT(2,0,0)",12)) 00821 hwuwts.REPWT[2][0][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00822 else if(!strncmp(ParameterString.c_str(),"REPWT(2,0,1)",12)) 00823 hwuwts.REPWT[2][0][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00824 else if(!strncmp(ParameterString.c_str(),"REPWT(2,0,2)",12)) 00825 hwuwts.REPWT[2][0][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00826 else if(!strncmp(ParameterString.c_str(),"REPWT(2,0,3)",12)) 00827 hwuwts.REPWT[2][0][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00828 else if(!strncmp(ParameterString.c_str(),"REPWT(2,0,4)",12)) 00829 hwuwts.REPWT[2][0][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00830 else if(!strncmp(ParameterString.c_str(),"REPWT(2,1,0)",12)) 00831 hwuwts.REPWT[2][1][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00832 else if(!strncmp(ParameterString.c_str(),"REPWT(2,1,1)",12)) 00833 hwuwts.REPWT[2][1][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00834 else if(!strncmp(ParameterString.c_str(),"REPWT(2,1,2)",12)) 00835 hwuwts.REPWT[2][1][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00836 else if(!strncmp(ParameterString.c_str(),"REPWT(2,1,3)",12)) 00837 hwuwts.REPWT[2][1][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00838 else if(!strncmp(ParameterString.c_str(),"REPWT(2,1,4)",12)) 00839 hwuwts.REPWT[2][1][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00840 else if(!strncmp(ParameterString.c_str(),"REPWT(2,2,0)",12)) 00841 hwuwts.REPWT[2][2][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00842 else if(!strncmp(ParameterString.c_str(),"REPWT(2,2,1)",12)) 00843 hwuwts.REPWT[2][2][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00844 else if(!strncmp(ParameterString.c_str(),"REPWT(2,2,2)",12)) 00845 hwuwts.REPWT[2][2][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00846 else if(!strncmp(ParameterString.c_str(),"REPWT(2,2,3)",12)) 00847 hwuwts.REPWT[2][2][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00848 else if(!strncmp(ParameterString.c_str(),"REPWT(2,2,4)",12)) 00849 hwuwts.REPWT[2][2][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00850 else if(!strncmp(ParameterString.c_str(),"REPWT(2,3,0)",12)) 00851 hwuwts.REPWT[2][3][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00852 else if(!strncmp(ParameterString.c_str(),"REPWT(2,3,1)",12)) 00853 hwuwts.REPWT[2][3][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00854 else if(!strncmp(ParameterString.c_str(),"REPWT(2,3,2)",12)) 00855 hwuwts.REPWT[2][3][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00856 else if(!strncmp(ParameterString.c_str(),"REPWT(2,3,3)",12)) 00857 hwuwts.REPWT[2][3][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00858 else if(!strncmp(ParameterString.c_str(),"REPWT(2,3,4)",12)) 00859 hwuwts.REPWT[2][3][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00860 else if(!strncmp(ParameterString.c_str(),"REPWT(2,4,0)",12)) 00861 hwuwts.REPWT[2][4][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00862 else if(!strncmp(ParameterString.c_str(),"REPWT(2,4,1)",12)) 00863 hwuwts.REPWT[2][4][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00864 else if(!strncmp(ParameterString.c_str(),"REPWT(2,4,2)",12)) 00865 hwuwts.REPWT[2][4][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00866 else if(!strncmp(ParameterString.c_str(),"REPWT(2,4,3)",12)) 00867 hwuwts.REPWT[2][4][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00868 else if(!strncmp(ParameterString.c_str(),"REPWT(2,4,4)",12)) 00869 hwuwts.REPWT[2][4][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00870 else if(!strncmp(ParameterString.c_str(),"REPWT(3,0,0)",12)) 00871 hwuwts.REPWT[3][0][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00872 else if(!strncmp(ParameterString.c_str(),"REPWT(3,0,1)",12)) 00873 hwuwts.REPWT[3][0][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00874 else if(!strncmp(ParameterString.c_str(),"REPWT(3,0,2)",12)) 00875 hwuwts.REPWT[3][0][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00876 else if(!strncmp(ParameterString.c_str(),"REPWT(3,0,3)",12)) 00877 hwuwts.REPWT[3][0][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00878 else if(!strncmp(ParameterString.c_str(),"REPWT(3,0,4)",12)) 00879 hwuwts.REPWT[3][0][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00880 else if(!strncmp(ParameterString.c_str(),"REPWT(3,1,0)",12)) 00881 hwuwts.REPWT[3][1][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00882 else if(!strncmp(ParameterString.c_str(),"REPWT(3,1,1)",12)) 00883 hwuwts.REPWT[3][1][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00884 else if(!strncmp(ParameterString.c_str(),"REPWT(3,1,2)",12)) 00885 hwuwts.REPWT[3][1][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00886 else if(!strncmp(ParameterString.c_str(),"REPWT(3,1,3)",12)) 00887 hwuwts.REPWT[3][1][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00888 else if(!strncmp(ParameterString.c_str(),"REPWT(3,1,4)",12)) 00889 hwuwts.REPWT[3][1][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00890 else if(!strncmp(ParameterString.c_str(),"REPWT(3,2,0)",12)) 00891 hwuwts.REPWT[3][2][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00892 else if(!strncmp(ParameterString.c_str(),"REPWT(3,2,1)",12)) 00893 hwuwts.REPWT[3][2][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00894 else if(!strncmp(ParameterString.c_str(),"REPWT(3,2,2)",12)) 00895 hwuwts.REPWT[3][2][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00896 else if(!strncmp(ParameterString.c_str(),"REPWT(3,2,3)",12)) 00897 hwuwts.REPWT[3][2][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00898 else if(!strncmp(ParameterString.c_str(),"REPWT(3,2,4)",12)) 00899 hwuwts.REPWT[3][2][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00900 else if(!strncmp(ParameterString.c_str(),"REPWT(3,3,0)",12)) 00901 hwuwts.REPWT[3][3][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00902 else if(!strncmp(ParameterString.c_str(),"REPWT(3,3,1)",12)) 00903 hwuwts.REPWT[3][3][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00904 else if(!strncmp(ParameterString.c_str(),"REPWT(3,3,2)",12)) 00905 hwuwts.REPWT[3][3][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00906 else if(!strncmp(ParameterString.c_str(),"REPWT(3,3,3)",12)) 00907 hwuwts.REPWT[3][3][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00908 else if(!strncmp(ParameterString.c_str(),"REPWT(3,3,4)",12)) 00909 hwuwts.REPWT[3][3][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00910 else if(!strncmp(ParameterString.c_str(),"REPWT(3,4,0)",12)) 00911 hwuwts.REPWT[3][4][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00912 else if(!strncmp(ParameterString.c_str(),"REPWT(3,4,1)",12)) 00913 hwuwts.REPWT[3][4][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00914 else if(!strncmp(ParameterString.c_str(),"REPWT(3,4,2)",12)) 00915 hwuwts.REPWT[3][4][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00916 else if(!strncmp(ParameterString.c_str(),"REPWT(3,4,3)",12)) 00917 hwuwts.REPWT[3][4][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00918 else if(!strncmp(ParameterString.c_str(),"REPWT(3,4,4)",12)) 00919 hwuwts.REPWT[3][4][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00920 else if(!strncmp(ParameterString.c_str(),"SNGWT",5)) 00921 hwuwts.SNGWT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00922 else if(!strncmp(ParameterString.c_str(),"DECWT",5)) 00923 hwuwts.DECWT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00924 else if(!strncmp(ParameterString.c_str(),"PLTCUT",6)) 00925 hwdist.PLTCUT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00926 else if(!strncmp(ParameterString.c_str(),"VTOCDK(",7)){ 00927 // we find the index ... 00928 int ind = atoi(&ParameterString[7]); 00929 hwprop.VTOCDK[ind] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]);} 00930 else if(!strncmp(ParameterString.c_str(),"VTORDK(",7)){ 00931 // we find the index ... 00932 int ind = atoi(&ParameterString[7]); 00933 hwprop.VTORDK[ind] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]);} 00934 else if(!strncmp(ParameterString.c_str(),"PIPSMR",6)) 00935 hwdist.PIPSMR = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00936 else if(!strncmp(ParameterString.c_str(),"VIPWID(1)",9)) 00937 hw6202.VIPWID[0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00938 else if(!strncmp(ParameterString.c_str(),"VIPWID(2)",9)) 00939 hw6202.VIPWID[1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00940 else if(!strncmp(ParameterString.c_str(),"VIPWID(3)",9)) 00941 hw6202.VIPWID[2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00942 else if(!strncmp(ParameterString.c_str(),"MAXDKL",6)) 00943 hwdist.MAXDKL = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00944 else if(!strncmp(ParameterString.c_str(),"IOPDKL",6)) 00945 hwdist.IOPDKL = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00946 else if(!strncmp(ParameterString.c_str(),"DXRCYL",6)) 00947 hw6202.DXRCYL = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00948 else if(!strncmp(ParameterString.c_str(),"DXZMAX",6)) 00949 hw6202.DXZMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00950 else if(!strncmp(ParameterString.c_str(),"DXRSPH",6)) 00951 hw6202.DXRSPH = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00952 // else if(!strncmp(ParameterString.c_str(),"BDECAY",6)) 00953 // hwprch.BDECAY = ParameterString[strcspn(ParameterString.c_str(),"=")+1]; 00954 else if(!strncmp(ParameterString.c_str(),"MIXING",6)) 00955 hwdist.MIXING = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00956 else if(!strncmp(ParameterString.c_str(),"XMIX(1)",7)) 00957 hwdist.XMIX[0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00958 else if(!strncmp(ParameterString.c_str(),"XMIX(2)",7)) 00959 hwdist.XMIX[1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00960 else if(!strncmp(ParameterString.c_str(),"YMIX(1)",7)) 00961 hwdist.YMIX[0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00962 else if(!strncmp(ParameterString.c_str(),"YMIX(2)",7)) 00963 hwdist.YMIX[1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00964 else if(!strncmp(ParameterString.c_str(),"RMASS(198)",10)) 00965 hwprop.RMASS[198] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00966 else if(!strncmp(ParameterString.c_str(),"RMASS(199)",10)) 00967 hwprop.RMASS[199] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00968 else if(!strncmp(ParameterString.c_str(),"GAMW",4)) 00969 hwpram.GAMW = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00970 else if(!strncmp(ParameterString.c_str(),"GAMZ",4)) 00971 hwpram.GAMZ = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00972 else if(!strncmp(ParameterString.c_str(),"RMASS(200)",10)) 00973 hwprop.RMASS[200] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00974 else if(!strncmp(ParameterString.c_str(),"WZRFR",5)) 00975 hw6202.WZRFR = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00976 else if(!strncmp(ParameterString.c_str(),"MODBOS(",7)) { 00977 int ind = atoi(&ParameterString[7]); 00978 hwbosc.MODBOS[ind-1] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 00979 else if(!strncmp(ParameterString.c_str(),"RMASS(201)",10)) 00980 hwprop.RMASS[201] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00981 else if(!strncmp(ParameterString.c_str(),"IOPHIG",6)) 00982 hwbosc.IOPHIG = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00983 else if(!strncmp(ParameterString.c_str(),"GAMMAX",6)) 00984 hwbosc.GAMMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00985 else if(!strncmp(ParameterString.c_str(),"ENHANC(",7)) { 00986 int ind = atoi(&ParameterString[7]); 00987 hwbosc.ENHANC[ind-1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 00988 else if(!strncmp(ParameterString.c_str(),"RMASS(209)",10)) 00989 hwprop.RMASS[209] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00990 else if(!strncmp(ParameterString.c_str(),"RMASS(215)",10)) 00991 hwprop.RMASS[215] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00992 else if(!strncmp(ParameterString.c_str(),"ALPHEM",6)) 00993 hwpram.ALPHEM = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00994 else if(!strncmp(ParameterString.c_str(),"SWEIN",5)) 00995 hwpram.SWEIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00996 else if(!strncmp(ParameterString.c_str(),"QFCH(",5)){ 00997 int ind = atoi(&ParameterString[5]); 00998 hwpram.QFCH[ind-1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 00999 else if(!strncmp(ParameterString.c_str(),"AFCH(1,",7)){ 01000 int ind = atoi(&ParameterString[7]); if(ind<1||ind>2) return 0; 01001 hwpram.AFCH[ind-1][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01002 else if(!strncmp(ParameterString.c_str(),"AFCH(2,",7)){ 01003 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01004 hwpram.AFCH[ind-1][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01005 else if(!strncmp(ParameterString.c_str(),"AFCH(3,",7)){ 01006 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01007 hwpram.AFCH[ind-1][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01008 else if(!strncmp(ParameterString.c_str(),"AFCH(4,",7)){ 01009 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01010 hwpram.AFCH[ind-1][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01011 else if(!strncmp(ParameterString.c_str(),"AFCH(5,",7)){ 01012 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01013 hwpram.AFCH[ind-1][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01014 else if(!strncmp(ParameterString.c_str(),"AFCH(6,",7)){ 01015 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01016 hwpram.AFCH[ind-1][5] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01017 else if(!strncmp(ParameterString.c_str(),"AFCH(7,",7)){ 01018 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01019 hwpram.AFCH[ind-1][6] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01020 else if(!strncmp(ParameterString.c_str(),"AFCH(8,",7)){ 01021 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01022 hwpram.AFCH[ind-1][7] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01023 else if(!strncmp(ParameterString.c_str(),"AFCH(9,",7)){ 01024 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01025 hwpram.AFCH[ind-1][8] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01026 else if(!strncmp(ParameterString.c_str(),"AFCH(10,",8)){ 01027 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01028 hwpram.AFCH[ind-1][9] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01029 else if(!strncmp(ParameterString.c_str(),"AFCH(11,",8)){ 01030 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01031 hwpram.AFCH[ind-1][10] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01032 else if(!strncmp(ParameterString.c_str(),"AFCH(12,",8)){ 01033 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01034 hwpram.AFCH[ind-1][11] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01035 else if(!strncmp(ParameterString.c_str(),"AFCH(13,",8)){ 01036 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01037 hwpram.AFCH[ind-1][12] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01038 else if(!strncmp(ParameterString.c_str(),"AFCH(14,",8)){ 01039 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01040 hwpram.AFCH[ind-1][13] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01041 else if(!strncmp(ParameterString.c_str(),"AFCH(15,",8)){ 01042 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01043 hwpram.AFCH[ind-1][14] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01044 else if(!strncmp(ParameterString.c_str(),"AFCH(16,",8)){ 01045 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01046 hwpram.AFCH[ind-1][15] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01047 else if(!strncmp(ParameterString.c_str(),"VFCH(1,",7)){ 01048 int ind = atoi(&ParameterString[7]); if(ind<1||ind>2) return 0; 01049 hwpram.VFCH[ind-1][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01050 else if(!strncmp(ParameterString.c_str(),"VFCH(2,",7)){ 01051 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01052 hwpram.VFCH[ind-1][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01053 else if(!strncmp(ParameterString.c_str(),"VFCH(3,",7)){ 01054 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01055 hwpram.VFCH[ind-1][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01056 else if(!strncmp(ParameterString.c_str(),"VFCH(4,",7)){ 01057 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01058 hwpram.VFCH[ind-1][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01059 else if(!strncmp(ParameterString.c_str(),"VFCH(5,",7)){ 01060 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01061 hwpram.VFCH[ind-1][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01062 else if(!strncmp(ParameterString.c_str(),"VFCH(6,",7)){ 01063 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01064 hwpram.VFCH[ind-1][5] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01065 else if(!strncmp(ParameterString.c_str(),"VFCH(7,",7)){ 01066 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01067 hwpram.VFCH[ind-1][6] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01068 else if(!strncmp(ParameterString.c_str(),"VFCH(8,",7)){ 01069 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01070 hwpram.VFCH[ind-1][7] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01071 else if(!strncmp(ParameterString.c_str(),"VFCH(9,",7)){ 01072 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01073 hwpram.VFCH[ind-1][8] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01074 else if(!strncmp(ParameterString.c_str(),"VFCH(10,",8)){ 01075 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01076 hwpram.VFCH[ind-1][9] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01077 else if(!strncmp(ParameterString.c_str(),"VFCH(11,",8)){ 01078 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01079 hwpram.VFCH[ind-1][10] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01080 else if(!strncmp(ParameterString.c_str(),"VFCH(12,",8)){ 01081 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01082 hwpram.VFCH[ind-1][11] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01083 else if(!strncmp(ParameterString.c_str(),"VFCH(13,",8)){ 01084 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01085 hwpram.VFCH[ind-1][12] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01086 else if(!strncmp(ParameterString.c_str(),"VFCH(14,",8)){ 01087 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01088 hwpram.VFCH[ind-1][13] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01089 else if(!strncmp(ParameterString.c_str(),"VFCH(15,",8)){ 01090 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01091 hwpram.VFCH[ind-1][14] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01092 else if(!strncmp(ParameterString.c_str(),"VFCH(16,",8)){ 01093 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01094 hwpram.VFCH[ind-1][15] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01095 else if(!strncmp(ParameterString.c_str(),"ZPRIME",6)) 01096 hwpram.ZPRIME = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01097 else if(!strncmp(ParameterString.c_str(),"RMASS(202)",10)) 01098 hwprop.RMASS[202] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01099 else if(!strncmp(ParameterString.c_str(),"GAMZP",5)) 01100 hwpram.GAMZP = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01101 else if(!strncmp(ParameterString.c_str(),"VCKM(",5)) { 01102 int ind1 = atoi(&ParameterString[5]); 01103 if(ind1<1||ind1>3) return 0; 01104 int ind2 = atoi(&ParameterString[7]); 01105 if(ind2<1||ind2>3) return 0; 01106 hwpram.VCKM[ind2][ind1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01107 else if(!strncmp(ParameterString.c_str(),"SCABI",5)) 01108 hwpram.SCABI = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01109 else if(!strncmp(ParameterString.c_str(),"EPOLN(",6)) { 01110 int ind = atoi(&ParameterString[6]); 01111 if(ind<1||ind>3) return 0; 01112 hwhard.EPOLN[ind-1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01113 else if(!strncmp(ParameterString.c_str(),"PPOLN(",6)) { 01114 int ind = atoi(&ParameterString[6]); 01115 if(ind<1||ind>3) return 0; 01116 hwhard.PPOLN[ind-1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01117 else if(!strncmp(ParameterString.c_str(),"QLIM",4)) 01118 hwhard.QLIM = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01119 else if(!strncmp(ParameterString.c_str(),"THMAX",5)) 01120 hwhard.THMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01121 else if(!strncmp(ParameterString.c_str(),"Y4JT",4)) 01122 hwhard.Y4JT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01123 else if(!strncmp(ParameterString.c_str(),"DURHAM",6)) 01124 hwhard.DURHAM = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01125 else if(!strncmp(ParameterString.c_str(),"IOP4JT(1)",9)) 01126 hwpram.IOP4JT[0] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01127 else if(!strncmp(ParameterString.c_str(),"IOP4JT(2)",9)) 01128 hwpram.IOP4JT[1] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01129 else if(!strncmp(ParameterString.c_str(),"BGSHAT",6)) 01130 hwhard.BGSHAT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01131 else if(!strncmp(ParameterString.c_str(),"BREIT",5)) 01132 hwbrch.BREIT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01133 else if(!strncmp(ParameterString.c_str(),"USECMF",6)) 01134 hwbrch.USECMF = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01135 else if(!strncmp(ParameterString.c_str(),"NOSPAC",6)) 01136 hwpram.NOSPAC = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01137 else if(!strncmp(ParameterString.c_str(),"ISPAC",5)) 01138 hwpram.ISPAC = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01139 else if(!strncmp(ParameterString.c_str(),"TMNISR",6)) 01140 hwhard.TMNISR = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01141 else if(!strncmp(ParameterString.c_str(),"ZMXISR",6)) 01142 hwhard.ZMXISR = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01143 else if(!strncmp(ParameterString.c_str(),"ASFIXD",6)) 01144 hwhard.ASFIXD = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01145 else if(!strncmp(ParameterString.c_str(),"OMEGA0",6)) 01146 hwhard.OMEGA0 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01147 else if(!strncmp(ParameterString.c_str(),"IAPHIG",6)) 01148 hwhard.IAPHIG = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01149 else if(!strncmp(ParameterString.c_str(),"PHOMAS",6)) 01150 hwhard.PHOMAS = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01151 else if(!strncmp(ParameterString.c_str(),"PRESPL",6)) 01152 hw6500.PRESPL = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01153 else if(!strncmp(ParameterString.c_str(),"PTMIN",5)) 01154 hwhard.PTMIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01155 else if(!strncmp(ParameterString.c_str(),"PTMAX",5)) 01156 hwhard.PTMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01157 else if(!strncmp(ParameterString.c_str(),"PTPOW",5)) 01158 hwhard.PTPOW = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01159 else if(!strncmp(ParameterString.c_str(),"YJMIN",5)) 01160 hwhard.YJMIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01161 else if(!strncmp(ParameterString.c_str(),"YJMAX",5)) 01162 hwhard.YJMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01163 else if(!strncmp(ParameterString.c_str(),"EMMIN",5)) 01164 hwhard.EMMIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01165 else if(!strncmp(ParameterString.c_str(),"EMMAX",5)) 01166 hwhard.EMMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01167 else if(!strncmp(ParameterString.c_str(),"EMPOW",5)) 01168 hwhard.EMPOW = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01169 else if(!strncmp(ParameterString.c_str(),"Q2MIN",5)) 01170 hwhard.Q2MIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01171 else if(!strncmp(ParameterString.c_str(),"Q2MAX",5)) 01172 hwhard.Q2MAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01173 else if(!strncmp(ParameterString.c_str(),"Q2POW",5)) 01174 hwhard.Q2POW = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01175 else if(!strncmp(ParameterString.c_str(),"YBMIN",5)) 01176 hwhard.YBMIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01177 else if(!strncmp(ParameterString.c_str(),"YBMAX",5)) 01178 hwhard.YBMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01179 else if(!strncmp(ParameterString.c_str(),"WHMIN",5)) 01180 hwhard.WHMIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01181 else if(!strncmp(ParameterString.c_str(),"ZJMAX",5)) 01182 hwhard.ZJMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01183 else if(!strncmp(ParameterString.c_str(),"Q2WWMN",6)) 01184 hwhard.Q2WWMN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01185 else if(!strncmp(ParameterString.c_str(),"Q2WWMX",6)) 01186 hwhard.Q2WWMX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01187 else if(!strncmp(ParameterString.c_str(),"YWWMIN",6)) 01188 hwhard.YWWMIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01189 else if(!strncmp(ParameterString.c_str(),"YWWMAX",6)) 01190 hwhard.YWWMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01191 else if(!strncmp(ParameterString.c_str(),"CSPEED",6)) 01192 hwpram.CSPEED = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01193 else if(!strncmp(ParameterString.c_str(),"GEV2NB",6)) 01194 hwpram.GEV2NB = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01195 else if(!strncmp(ParameterString.c_str(),"IBSH",4)) 01196 hwhard.IBSH = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01197 else if(!strncmp(ParameterString.c_str(),"IBRN(1)",7)) 01198 hwhard.IBRN[0] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01199 else if(!strncmp(ParameterString.c_str(),"IBRN(2)",7)) 01200 hwhard.IBRN[1] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01201 else if(!strncmp(ParameterString.c_str(),"NQEV",4)) 01202 hwusud.NQEV = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01203 else if(!strncmp(ParameterString.c_str(),"ZBINM",5)) 01204 hwpram.ZBINM = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01205 else if(!strncmp(ParameterString.c_str(),"NZBIN",5)) 01206 hwpram.NZBIN = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01207 else if(!strncmp(ParameterString.c_str(),"NBTRY",5)) 01208 hwpram.NBTRY = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01209 else if(!strncmp(ParameterString.c_str(),"NCTRY",5)) 01210 hwpram.NCTRY = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01211 else if(!strncmp(ParameterString.c_str(),"NETRY",5)) 01212 hwpram.NETRY = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01213 else if(!strncmp(ParameterString.c_str(),"NSTRY",5)) 01214 hwpram.NSTRY = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01215 else if(!strncmp(ParameterString.c_str(),"ACCUR",5)) 01216 hwusud.ACCUR = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01217 else if(!strncmp(ParameterString.c_str(),"RPARTY",6)) 01218 hwrpar.RPARTY = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01219 else if(!strncmp(ParameterString.c_str(),"SUSYIN",6)) 01220 hwsusy.SUSYIN = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01221 else if(!strncmp(ParameterString.c_str(),"LRSUSY",6)) 01222 hw6202.LRSUSY = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01223 else if(!strncmp(ParameterString.c_str(),"SYSPIN",6)) 01224 hwdspn.SYSPIN = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01225 else if(!strncmp(ParameterString.c_str(),"THREEB",6)) 01226 hwdspn.THREEB = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01227 else if(!strncmp(ParameterString.c_str(),"FOURB",5)) 01228 hwdspn.FOURB = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01229 else if(!strncmp(ParameterString.c_str(),"LHSOFT",6)) 01230 hwgupr.LHSOFT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01231 else if(!strncmp(ParameterString.c_str(),"LHGLSF",6)) 01232 hwgupr.LHGLSF = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01233 else if(!strncmp(ParameterString.c_str(),"OPTM",4)) 01234 hw6300.OPTM = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01235 else if(!strncmp(ParameterString.c_str(),"IOPSTP",6)) 01236 hw6300.IOPSTP = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01237 else if(!strncmp(ParameterString.c_str(),"IOPSH",5)) 01238 hw6300.IOPSH = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01239 else if(!strncmp(ParameterString.c_str(),"JMUEO",5)) 01240 jmparm.JMUEO = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01241 else if(!strncmp(ParameterString.c_str(),"PTJIM",5)) 01242 jmparm.PTJIM = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01243 else if(!strncmp(ParameterString.c_str(),"JMRAD(73)",9)) 01244 jmparm.JMRAD[72] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01245 01246 else accepted = 0; 01247 01248 return accepted; 01249 }
Implements edm::ConfigurableInputSource.
Definition at line 443 of file PomwigSource.cc.
References conv, counter(), doMPInteraction_, evt, Exception, herwigHepMCVerbosity_, hwmsct_dummy, edm::ConfigurableInputSource::numberEventsInRun(), numTrials_, edm::Event::put(), edm::InputSource::remainingEvents(), and useJimmy_.
00443 { 00444 00445 int counter = 0; 00446 double mpiok = 1.0; 00447 00448 while(mpiok > 0.5 && counter < numTrials_) { 00449 00450 // call herwig routines to create HEPEVT 00451 hwuine(); 00452 hwepro(); 00453 hwbgen(); 00454 00455 // call jimmy ... only if event is not killed yet by HERWIG 00456 if(useJimmy_ && doMPInteraction_ && hwevnt.IERROR==0) 00457 mpiok = hwmsct_dummy(1.1); 00458 else mpiok = 0.0; 00459 counter++; 00460 } 00461 00462 // event after numTrials MP is not ok -> skip event 00463 if(mpiok > 0.5) { 00464 LogWarning("") <<" JIMMY could not produce MI in "<<numTrials_<<" trials.\n"<<" Event will be skipped to prevent from deadlock.\n"; 00465 return true; 00466 } 00467 00468 hwdhob(); 00469 hwcfor(); 00470 hwcdec(); 00471 hwdhad(); 00472 hwdhvy(); 00473 hwmevt(); 00474 hwufne(); 00475 00476 // if event was killed by HERWIG; skip 00477 if(hwevnt.IERROR!=0) return true; 00478 00479 //intCrossSect = 1000.0*survivalProbability*hwevnt.AVWGT; 00480 00481 // ----------------- HepMC converter -------------------- 00482 HepMC::IO_HERWIG conv; 00483 00484 // HEPEVT is ok, create new HepMC event 00485 evt = new HepMC::GenEvent(); 00486 bool ok = conv.fill_next_event( evt ); 00487 // if conversion failed; throw excpetion and stop processing 00488 if(!ok) throw cms::Exception("HerwigError") 00489 <<" Conversion problems in event nr."<<numberEventsInRun() - remainingEvents() - 1<<"."; 00490 00491 // set process id and event number 00492 evt->set_signal_process_id(hwproc.IPROC); 00493 evt->set_event_number(numberEventsInRun() - remainingEvents() - 1); 00494 00495 if (herwigHepMCVerbosity_) { 00496 LogWarning("") << "Event process = " << evt->signal_process_id() << "\n----------------------\n"; 00497 evt->print(); 00498 } 00499 00500 // dummy if: event MUST be there 00501 if(evt) { 00502 auto_ptr<HepMCProduct> bare_product(new HepMCProduct()); 00503 bare_product->addHepMCData(evt ); 00504 e.put(bare_product); 00505 } 00506 00507 return true; 00508 }
Definition at line 1262 of file PomwigSource.cc.
Referenced by PomwigSource().
01263 { 01264 double temx[5]; 01265 for (int i=0; i<5; i++) { 01266 mseed = mseed * 29943829 - 1; 01267 temx[i] = mseed * (1./(65536.*65536.)); 01268 } 01269 long double c; 01270 c = (long double)2111111111.0 * temx[3] + 01271 1492.0 * (temx[3] = temx[2]) + 01272 1776.0 * (temx[2] = temx[1]) + 01273 5115.0 * (temx[1] = temx[0]) + 01274 temx[4]; 01275 temx[4] = floorl(c); 01276 temx[0] = c - temx[4]; 01277 temx[4] = temx[4] * (1./(65536.*65536.)); 01278 hwevnt.NRN[0]=int(temx[0]*99999); 01279 c = (long double)2111111111.0 * temx[3] + 01280 1492.0 * (temx[3] = temx[2]) + 01281 1776.0 * (temx[2] = temx[1]) + 01282 5115.0 * (temx[1] = temx[0]) + 01283 temx[4]; 01284 temx[4] = floorl(c); 01285 temx[0] = c - temx[4]; 01286 hwevnt.NRN[1]=int(temx[0]*99999); 01287 01288 return true; 01289 }
double edm::PomwigSource::comenergy [private] |
int edm::PomwigSource::diffTopology [private] |
bool edm::PomwigSource::doMPInteraction_ [private] |
bool edm::PomwigSource::enableForcedDecays [private] |
HepMC::GenEvent* edm::PomwigSource::evt [private] |
double edm::PomwigSource::extCrossSect [private] |
double edm::PomwigSource::extFilterEff [private] |
bool edm::PomwigSource::herwigHepMCVerbosity_ [private] |
int edm::PomwigSource::herwigLhapdfVerbosity_ [private] |
int edm::PomwigSource::herwigVerbosity_ [private] |
double edm::PomwigSource::intCrossSect [private] |
std::string edm::PomwigSource::lhapdfSetPath_ [private] |
int edm::PomwigSource::maxEventsToPrint_ [private] |
int edm::PomwigSource::numTrials_ [private] |
bool edm::PomwigSource::printCards_ [private] |
double edm::PomwigSource::survivalProbability [private] |
bool edm::PomwigSource::useJimmy_ [private] |