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