#include <Ariadne.hh>
Public Types | |
enum | Result { SUCCESS = 1, FAILURE = 0 } |
Really just syntactic sugar for bool returns from setParam. More... | |
Public Member Functions | |
Ariadne () | |
Standard constructor. | |
virtual | ~Ariadne () |
Destructor. | |
void | setGenSpecificInitialState (PdgCode p1=PROTON, double e1=7000.0, PdgCode p2=PROTON, double e2=7000.0) |
Set up initial state from supplied params. | |
const string | getName () const |
Get the generator name. | |
void | makeEvent (HepMC::GenEvent &evt) |
Run the generator for one event. | |
virtual void | setSeed (const int value) |
Set the random number generator seed. | |
virtual bool | setParam (const string &name, const string &value) |
Pass an string parameter to the generator. | |
string | getPDFSet (PdgCode pid) |
int | getPDFMember (PdgCode pid) |
Get the PDF id number for a given particle. | |
string | getPDFScheme (PdgCode pid) const |
Get the PDF scheme used by the generator (LHAPDF or other). | |
virtual const double | getCrossSection () |
Return the generated cross section in pb. | |
virtual const string | getVersion () |
Get the generator version. This implementation is used as a last resort to determine the generator version. Ideally a specific generator will know its own version and overwrite this. Some generators (e.g. FHerwig) don't know this. | |
void | finalize () |
Tidy up after ourselves. | |
void | setInitialState (int p1=PROTON, double e1=7000.0, int p2=PROTON, double e2=7000.0) |
Define initial state. | |
virtual const GeneratorState & | getState () |
Get a generator state object. | |
virtual void | setState (const GeneratorState &state) |
Setup the generator from a generator state object. | |
virtual void | setVersion (const std::string &version) |
Set the generator version. | |
virtual bool | setParam (const std::string &name, const int &value) |
Pass an int-valued parameter to the generator. | |
virtual bool | setParam (const std::string &name, const unsigned int &value) |
Pass an int-valued parameter to the generator. | |
virtual bool | setParam (const std::string &name, const long &value) |
Pass an int-valued parameter to the generator. | |
virtual bool | setParam (const std::string &name, const unsigned long &value) |
Pass an int-valued parameter to the generator. | |
virtual bool | setParam (const std::string &name, const double &value) |
Pass a double/float-valued parameter to the generator. | |
virtual bool | setParam (const std::string &name, const float &value) |
Pass a double/float-valued parameter to the generator. | |
virtual bool | setParam (const std::string &name, const bool &value) |
Pass a bool-valued parameter to the generator. | |
virtual bool | setParam (const std::string &name, const std::string &value) |
Pass a string-valued parameter to the generator. | |
Protected Member Functions | |
void | initialize () |
Set up default params etc. | |
void | fillEvent (HepMC::GenEvent &evt) |
Fill a HepMC event. | |
Log & | getLog () const |
Get named logger. | |
virtual void | clearEvent (HepMC::GenEvent &evt) |
Clear the supplied event. | |
Protected Attributes | |
string | _particleName1 |
Internal storage of initial state params. | |
string | _particleName2 |
double | _e1 |
double | _e2 |
int | _nevt |
Event counter. | |
HepMC::IO_HEPEVT | _hepevt |
HEPEVT->HepMC converter. | |
double | _crossSection |
bool | _initialstateset |
Flag for detecting whether the setInitialState method has run. | |
bool | _initialized |
Flag for detecting whether the initialization method has run. | |
map< PdgCode, std::string > | _particleNames |
Collection of translated names for particles. | |
string | _myName |
Generator name. |
Abstract base class for the Fortran-based Pythia 6 generator series using ARIADNE parton shower
Definition at line 12 of file Ariadne.hh.
enum Result [inherited] |
Really just syntactic sugar for bool returns from setParam.
Definition at line 37 of file Generator.hh.
Ariadne | ( | ) |
Standard constructor.
Pythia uses HEPEVT with 4000/10000 entries and 8-byte floats
For Pythia, other "normal" particles are: gamma/e-, gamma/e+, gamma/mu-, gamma/mu+, gamma/tau-, gamma/tau+, pi0 Also, with crappy PDF parameterisations and other defects: K+, K-, KS0, KL0, Lambda0, Sigma-, Sigma0, Sigma+, Xi-, Xi0, Omega And, not useable at the moment: pomeron, reggeon
Definition at line 15 of file Ariadne.cc.
References Ariadne::_nevt, Generator::_particleNames, AGILe::ANTIMUON, AGILe::ANTINEUTRON, AGILe::ANTIPROTON, call_pyhepc(), AGILe::ELECTRON, FC_INITPYDATA, FC_PYDAT1, FC_PYJETS, AGILe::MUON, AGILe::NEUTRON, AGILe::NU_E, AGILe::NU_EBAR, AGILe::NU_MU, AGILe::NU_MUBAR, AGILe::NU_TAU, AGILe::NU_TAUBAR, AGILe::PHOTON, AGILe::PIMINUS, AGILe::PIPLUS, AGILe::POSITRON, AGILe::PROTON, and Ariadne::setParam().
00015 { 00017 FC_PYJETS.n = 0; //< Ensure dummyness of the next call 00018 call_pyhepc(1); 00019 //HepMC::HEPEVT_Wrapper::set_max_number_entries(4000); 00020 //HepMC::HEPEVT_Wrapper::set_sizeof_real(8); 00021 HepMC::HEPEVT_Wrapper::set_max_number_entries(FC_PYDAT1.mstu[8-1]); 00022 //HepMC::HEPEVT_Wrapper::set_max_number_entries(10000); 00023 HepMC::HEPEVT_Wrapper::set_sizeof_real(8); 00024 00025 // Start counting events at 1. 00026 _nevt = 1; 00027 00028 // Initialize Pythia PYDATA block data as external 00029 FC_INITPYDATA(); 00030 00031 // Write the full shower structure 00032 setParam("MSTP(125)", 2); 00033 00034 // Tell Pythia not to write multiple copies of particles in event record. 00035 setParam("MSTP(128)", 2); 00036 00037 // Set up particle names map 00039 _particleNames[ELECTRON] = "e-"; 00040 _particleNames[POSITRON] = "e+"; 00041 _particleNames[PROTON] = "p+"; 00042 _particleNames[ANTIPROTON] = "pbar-"; 00043 _particleNames[NEUTRON] = "n0"; 00044 _particleNames[ANTINEUTRON] = "nbar0"; 00045 _particleNames[PHOTON] = "gamma"; 00046 _particleNames[MUON] = "mu-"; 00047 _particleNames[ANTIMUON] = "mu+"; 00048 // TAU, ANTITAU 00049 _particleNames[NU_E] = "nu_e"; 00050 _particleNames[NU_EBAR] = "nu_ebar"; 00051 _particleNames[NU_MU] = "nu_mu"; 00052 _particleNames[NU_MUBAR] = "nu_mubar"; 00053 _particleNames[NU_TAU] = "nu_tau"; 00054 _particleNames[NU_TAUBAR] = "nu_taubar"; 00055 _particleNames[PIPLUS] = "pi+"; 00056 _particleNames[PIMINUS] = "pi-"; 00057 // PIZERO 00058 // PHOTOELECTRON, PHOTOPOSITRON, 00059 // PHOTOMUON, PHOTOANTIMUON, 00060 // PHOTOTAU, PHOTOANTITAU, 00067 }
virtual ~Ariadne | ( | ) | [inline, virtual] |
virtual void clearEvent | ( | HepMC::GenEvent & | evt | ) | [inline, protected, virtual, inherited] |
Clear the supplied event.
Definition at line 275 of file Generator.hh.
Referenced by Generator::makeEvent(), FHerwigJimmy::makeEvent(), and AlpGenFHerwigJimmy::makeEvent().
void fillEvent | ( | HepMC::GenEvent & | evt | ) | [protected] |
Fill a HepMC event.
Definition at line 166 of file Ariadne.cc.
References Ariadne::_hepevt, Log::DEBUG, FC_PYPARS, AGILe::fixHepMCUnitsFromGeVmm(), Ariadne::getCrossSection(), Generator::getLog(), and xsec.
Referenced by Ariadne::makeEvent().
00166 { 00167 _hepevt.fill_next_event(&evt); 00168 fixHepMCUnitsFromGeVmm(evt); 00169 #ifdef HEPMC_HAS_CROSS_SECTION 00170 HepMC::GenCrossSection xsec; 00171 const double xsecval = getCrossSection(); 00172 const double xsecerr = getCrossSection() / std::sqrt(FC_PYPARS.msti[4]); 00173 getLog() << Log::DEBUG << "Writing cross-section = " << xsecval << " +- " << xsecerr << endl; 00174 xsec.set_cross_section(xsecval, xsecerr); 00175 evt.set_cross_section(xsec); 00176 #endif 00177 }
void finalize | ( | ) | [virtual] |
Tidy up after ourselves.
Implements Generator.
Definition at line 261 of file Ariadne.cc.
References call_pystat(), Generator::getLog(), and Log::INFO.
00261 { 00262 getLog() << Log::INFO << "Finalising..." << endl; 00263 // Print out stats from run 00264 call_pystat(1); 00265 }
const double getCrossSection | ( | ) | [virtual] |
Return the generated cross section in pb.
Reimplemented from Generator.
Definition at line 248 of file Ariadne.cc.
References Generator::_crossSection, and FC_PYPARS.
Referenced by Ariadne::fillEvent().
00248 { 00249 // _crossSection = FC_PYINT5.xsec[2][0] * 1e09; 00250 _crossSection = FC_PYPARS.pari[0] * 1e09; 00251 return _crossSection; 00252 }
Log& getLog | ( | ) | const [inline, protected, inherited] |
Get named logger.
Definition at line 257 of file Generator.hh.
References Generator::getName().
Referenced by Rapgap::fillEvent(), Phojet::fillEvent(), Cascade::fillEvent(), Ariadne::fillEvent(), Rapgap::finalize(), Phojet::finalize(), Cascade::finalize(), Ariadne::finalize(), Rapgap::initialize(), Cascade::initialize(), Cascade::makeEvent(), Rapgap::setGenSpecificInitialState(), Phojet::setGenSpecificInitialState(), Cascade::setGenSpecificInitialState(), Ariadne::setGenSpecificInitialState(), Rapgap::setParam(), Cascade::setParam(), and AlpGen::setParam().
00257 { 00258 return Log::getLog("AGILe." + getName()); 00259 }
const string getName | ( | ) | const [inline, virtual] |
int getPDFMember | ( | PdgCode | pid | ) | [virtual] |
Get the PDF id number for a given particle.
Reimplemented from Generator.
Definition at line 206 of file Ariadne.cc.
References AGILe::ANTIPROTON, AGILe::ELECTRON, FC_PYPARS, AGILe::POSITRON, and AGILe::PROTON.
00206 { 00207 switch(pid) { 00208 case PROTON: 00209 case ANTIPROTON: 00210 return FC_PYPARS.mstp[50]; 00211 break; 00212 case ELECTRON: 00213 case POSITRON: 00214 return FC_PYPARS.mstp[54]; 00215 break; 00216 default: 00217 break; 00218 } 00219 throw runtime_error("Unknown particle for PDF Set"); 00220 }
string getPDFScheme | ( | PdgCode | pid | ) | const [virtual] |
Get the PDF scheme used by the generator (LHAPDF or other).
Reimplemented from Generator.
Definition at line 223 of file Ariadne.cc.
References AGILe::ANTIPROTON, AGILe::ELECTRON, FC_PYPARS, AGILe::POSITRON, and AGILe::PROTON.
00223 { 00224 switch(pid){ 00225 case PROTON: 00226 case ANTIPROTON: 00227 if (FC_PYPARS.mstp[51]==1) { 00228 return "PYINTERNAL"; 00229 } else if(FC_PYPARS.mstp[51]==2) { 00230 return "LHAPDF"; 00231 } 00232 break; 00233 case ELECTRON: 00234 case POSITRON: 00235 if (FC_PYPARS.mstp[55]==1) { 00236 return "PYINTERNAL"; 00237 } else if(FC_PYPARS.mstp[55]==2) { 00238 return "LHAPDF"; 00239 } 00240 break; 00241 default: 00242 break; 00243 } 00244 throw runtime_error("Unknown particle for PDF Set"); 00245 }
string getPDFSet | ( | PdgCode | pid | ) | [virtual] |
Get the PDF set used by the generator, e.g. HWLHAPDF (for herwig) or one of the default sets.
Reimplemented from Generator.
Definition at line 180 of file Ariadne.cc.
References AGILe::ANTIPROTON, AGILe::ELECTRON, FC_PYPARS, AGILe::POSITRON, and AGILe::PROTON.
00180 { 00181 switch(pid) { 00182 case PROTON: 00183 case ANTIPROTON: 00184 if (FC_PYPARS.mstp[51] == 1) { 00185 return "PYINTERNAL"; 00186 } else if(FC_PYPARS.mstp[51] == 2) { 00187 return "PYLHAPDF"; 00188 } 00189 break; 00190 00191 case ELECTRON: 00192 case POSITRON: 00193 if (FC_PYPARS.mstp[55] == 1) { 00194 return "PYINTERNAL"; 00195 } else if(FC_PYPARS.mstp[55] == 2) { 00196 return "PYLHAPDF"; 00197 } 00198 break; 00199 default: 00200 break; 00201 } 00202 throw runtime_error("Unknown particle for PDF Set"); 00203 }
virtual const GeneratorState& getState | ( | ) | [inline, virtual, inherited] |
Get a generator state object.
Definition at line 72 of file Generator.hh.
References Generator::_myState, GeneratorState::addPDF(), GeneratorState::getBeams(), Generator::getCrossSection(), Generator::getName(), Generator::getPDFMember(), Generator::getPDFScheme(), Generator::getPDFSet(), Generator::getVersion(), PDF::member, Beam::name, PDF::particleId, PDF::scheme, PDF::set, GeneratorState::setCrossSection(), GeneratorState::setName(), and GeneratorState::setVersion().
00072 { 00073 string myName = getName(); 00074 _myState.setName(myName); 00075 _myState.setVersion(getVersion()); 00076 _myState.setCrossSection(getCrossSection()); 00077 PDF pdf; 00078 foreach (Beam b, _myState.getBeams()) { 00079 pdf.particleId = b.name; 00080 pdf.set = getPDFSet(b.name); 00081 pdf.member = getPDFMember(b.name); 00082 pdf.scheme = getPDFScheme(b.name); 00083 _myState.addPDF(pdf); 00084 } 00085 return _myState; 00086 }
const string getVersion | ( | ) | [virtual] |
Get the generator version. This implementation is used as a last resort to determine the generator version. Ideally a specific generator will know its own version and overwrite this. Some generators (e.g. FHerwig) don't know this.
Reimplemented from Generator.
Definition at line 254 of file Ariadne.cc.
References FC_PYPARS.
void initialize | ( | ) | [protected, virtual] |
Set up default params etc.
Reimplemented from Generator.
Definition at line 82 of file Ariadne.cc.
References Ariadne::_e1, Ariadne::_e2, Generator::_initialized, Ariadne::_particleName1, Ariadne::_particleName2, call_arinit(), call_artune(), call_pygive(), call_pyinit(), FC_PYPARS, and AGILe::fuzzyEquals().
00082 { 00083 Generator::initialize(); 00084 // call ariadne tune 00085 call_artune("4.12"); 00086 //for (int i=20; i<25; i++) std::cout <<"para("<<i+1<<"):"<<FC_ARDAT1.para[i]<<std::endl; 00087 00088 // Call pythia initialization with stored parameters as set by setGenSpecificInitialState() 00089 if (FC_PYPARS.mstp[142] != 1) { 00090 if (fuzzyEquals(_e1, _e2)) { 00091 call_pyinit("CMS", _particleName1.c_str(), _particleName2.c_str(), _e1+_e2); 00092 } else { 00093 stringstream p13cmd, p23cmd; 00094 p13cmd << "P(1,3) = " << _e1; 00095 p23cmd << "P(2,3) = " << -_e2; 00096 call_pygive("P(1,1) = 0.0"); 00097 call_pygive("P(1,2) = 0.0"); 00098 call_pygive(p13cmd.str().c_str()); 00099 call_pygive("P(2,1) = 0.0"); 00100 call_pygive("P(2,2) = 0.0"); 00101 call_pygive(p23cmd.str().c_str()); 00102 call_pyinit("3MOM", _particleName1.c_str(), _particleName2.c_str(), 0.0); 00103 } 00104 } else { 00105 // User process, parameters taken from LHAPDF initialisation file. 00106 call_pyinit("USER"," "," ", 0.0); 00107 } 00108 00109 call_arinit("pythia"); 00110 00111 _initialized = true; 00112 00113 // std::cout <<"check setup:"<<std::endl; 00114 // std::cout <<"PARA(1) "<<FC_ARDAT1.para[0]<<std::endl; 00115 // std::cout <<"PARA(3) "<<FC_ARDAT1.para[2]<<std::endl; 00116 // std::cout <<"PARJ(41) "<<FC_PYDAT1.parj[40]<<std::endl; 00117 // std::cout <<"PARJ(42) "<<FC_PYDAT1.parj[41]<<std::endl; 00118 00119 }
void makeEvent | ( | HepMC::GenEvent & | evt | ) | [virtual] |
Run the generator for one event.
Reimplemented from Generator.
Definition at line 146 of file Ariadne.cc.
References Ariadne::_nevt, call_arexec(), call_pyevnt(), call_pyhepc(), and Ariadne::fillEvent().
00146 { 00147 Generator::makeEvent(evt); 00149 // Generate one event. 00150 call_pyevnt(); 00151 // run Ariadne 00152 call_arexec(); 00153 // Generate one event with new UE and shower. 00154 //call_pyevnw(); 00155 // Convert common PYJETS into common HEPEVT. 00156 call_pyhepc(1); 00157 // Increment an event counter (Pythia does not count for itself). 00158 _nevt++; 00159 // fill the event using HepMC 00160 fillEvent(evt); 00161 evt.set_event_number(_nevt); 00162 }
void setGenSpecificInitialState | ( | PdgCode | p1 = PROTON , |
|
double | e1 = 7000.0 , |
|||
PdgCode | p2 = PROTON , |
|||
double | e2 = 7000.0 | |||
) | [virtual] |
Set up initial state from supplied params.
Implements Generator.
Definition at line 70 of file Ariadne.cc.
References Ariadne::_e1, Ariadne::_e2, Ariadne::_particleName1, Ariadne::_particleName2, Generator::_particleNames, Generator::getLog(), and Log::INFO.
00070 { 00071 getLog() << Log::INFO << "Setting initial state..." << endl; 00072 // For Pythia, we have to hold on to this state until initialize() is called. 00073 _particleName1 = _particleNames[p1]; 00074 _particleName2 = _particleNames[p2]; 00076 _e1 = e1; 00077 _e2 = e2; 00078 }
void setInitialState | ( | int | p1 = PROTON , |
|
double | e1 = 7000.0 , |
|||
int | p2 = PROTON , |
|||
double | e2 = 7000.0 | |||
) | [inline, inherited] |
Define initial state.
Definition at line 54 of file Generator.hh.
References Generator::_initialstateset, Generator::_myState, Beam::energy, Beam::name, Beam::position, GeneratorState::setBeams(), and Generator::setGenSpecificInitialState().
Referenced by Generator::initialize().
00056 { 00057 setGenSpecificInitialState(p1, e1, p2, e2); 00059 _initialstateset = true; 00060 Beam beam1, beam2; 00061 beam1.name = p1; 00062 beam2.name = p2; 00063 beam1.energy = e1; 00064 beam2.energy = e2; 00065 beam1.position = 1; 00066 beam2.position = 2; 00067 _myState.setBeams(beam1, beam2); 00068 }
virtual bool setParam | ( | const std::string & | name, | |
const std::string & | value | |||
) | [inline, virtual, inherited] |
Pass a string-valued parameter to the generator.
Definition at line 224 of file Generator.hh.
References Generator::_initialized, Generator::_myState, MSG_ERROR, and GeneratorState::setParam().
00224 { 00225 if (_initialized) { 00226 MSG_ERROR("Can't set parameter " << name << ": generator has already been initialized"); 00227 throw runtime_error("Tried to set param after generator initialization"); 00228 } 00229 _myState.setParam(name, value); 00230 return true; 00231 }
virtual bool setParam | ( | const std::string & | name, | |
const bool & | value | |||
) | [inline, virtual, inherited] |
Pass a bool-valued parameter to the generator.
Definition at line 214 of file Generator.hh.
References Generator::_initialized, MSG_ERROR, Generator::setParam(), and AGILe::toString().
00214 { 00215 if (_initialized) { 00216 MSG_ERROR("Can't set parameter " << name << ": generator has already been initialized"); 00217 throw runtime_error("Tried to set param after generator initialization"); 00218 } 00219 return setParam(name, toString(value)); 00220 }
virtual bool setParam | ( | const std::string & | name, | |
const float & | value | |||
) | [inline, virtual, inherited] |
Pass a double/float-valued parameter to the generator.
Definition at line 204 of file Generator.hh.
References Generator::_initialized, MSG_ERROR, Generator::setParam(), and AGILe::toString().
00204 { 00205 if (_initialized) { 00206 MSG_ERROR("Can't set parameter " << name << ": generator has already been initialized"); 00207 throw runtime_error("Tried to set param after generator initialization"); 00208 } 00209 return setParam(name, toString(value)); 00210 }
virtual bool setParam | ( | const std::string & | name, | |
const double & | value | |||
) | [inline, virtual, inherited] |
Pass a double/float-valued parameter to the generator.
Definition at line 194 of file Generator.hh.
References Generator::_initialized, MSG_ERROR, Generator::setParam(), and AGILe::toString().
00194 { 00195 if (_initialized) { 00196 MSG_ERROR("Can't set parameter " << name << ": generator has already been initialized"); 00197 throw runtime_error("Tried to set param after generator initialization."); 00198 } 00199 return setParam(name, toString(value)); 00200 }
virtual bool setParam | ( | const std::string & | name, | |
const unsigned long & | value | |||
) | [inline, virtual, inherited] |
Pass an int-valued parameter to the generator.
Definition at line 184 of file Generator.hh.
References Generator::_initialized, MSG_ERROR, Generator::setParam(), and AGILe::toString().
00184 { 00185 if (_initialized) { 00186 MSG_ERROR("Can't set parameter " << name << ": generator has already been initialized"); 00187 throw runtime_error("Tried to set param after generator initialization"); 00188 } 00189 return setParam(name, toString(value)); 00190 }
virtual bool setParam | ( | const std::string & | name, | |
const long & | value | |||
) | [inline, virtual, inherited] |
Pass an int-valued parameter to the generator.
Definition at line 174 of file Generator.hh.
References Generator::_initialized, MSG_ERROR, Generator::setParam(), and AGILe::toString().
00174 { 00175 if (_initialized) { 00176 MSG_ERROR("Can't set parameter " << name << ": generator has already been initialized"); 00177 throw runtime_error("Tried to set param after generator initialization"); 00178 } 00179 return setParam(name, toString(value)); 00180 }
virtual bool setParam | ( | const std::string & | name, | |
const unsigned int & | value | |||
) | [inline, virtual, inherited] |
Pass an int-valued parameter to the generator.
Definition at line 164 of file Generator.hh.
References Generator::_initialized, MSG_ERROR, Generator::setParam(), and AGILe::toString().
00164 { 00165 if (_initialized) { 00166 MSG_ERROR("Can't set parameter " << name << ": generator has already been initialized"); 00167 throw runtime_error("Tried to set param after generator initialization"); 00168 } 00169 return setParam(name, toString(value)); 00170 }
virtual bool setParam | ( | const std::string & | name, | |
const int & | value | |||
) | [inline, virtual, inherited] |
Pass an int-valued parameter to the generator.
Definition at line 154 of file Generator.hh.
References Generator::_initialized, MSG_ERROR, and AGILe::toString().
Referenced by Generator::setParam().
00154 { 00155 if (_initialized) { 00156 MSG_ERROR("Can't set parameter " << name << ": generator has already been initialized"); 00157 throw runtime_error("Tried to set param after generator initialization"); 00158 } 00159 return setParam(name, toString(value)); 00160 }
bool setParam | ( | const string & | name, | |
const string & | value | |||
) | [virtual] |
Pass an string parameter to the generator.
Definition at line 122 of file Ariadne.cc.
References call_ariset(), call_pygive(), FC_ARDAT1, Generator::SUCCESS, and AGILe::toUpper().
Referenced by Ariadne::Ariadne(), and Ariadne::setSeed().
00122 { 00123 Generator::setParam(name, value); 00124 if (name.substr(0,4)=="PARA" || name.substr(0,4)=="para" ) { 00125 size_t il = 0; size_t ir = 0; 00126 while (il<name.size() && name.substr(il,1)!="(") il++; 00127 while (ir<name.size() && name.substr(ir,1)!=")") ir++; 00128 if (il>3 && ir>il ) { 00129 const string& num= name.substr(il+1,ir-il-1); 00130 int ip = std::atoi(num.c_str()); 00131 float val = std::atof(value.c_str()); 00132 //std::cout <<"old value:"<<FC_ARDAT1.para[ip-1]<<std::endl; 00133 FC_ARDAT1.para[ip-1] = val; 00134 //std::cout <<"new value:"<<FC_ARDAT1.para[ip-1]<<std::endl; 00135 call_ariset(ip,val); 00136 //std::cout <<"ARIADNE: PARA"<<"("<<ip<<") set to "<<value<<std::endl; 00137 } 00138 } else { 00139 const string pygive_input(toUpper(name) + "=" + value); 00140 call_pygive(pygive_input.c_str()); 00141 } 00142 return SUCCESS; 00143 }
virtual void setSeed | ( | const int | value | ) | [inline, virtual] |
Set the random number generator seed.
Reimplemented from Generator.
Definition at line 34 of file Ariadne.hh.
References Ariadne::setParam().
00034 { 00035 setParam("MRPY(1)", value); 00036 }
virtual void setState | ( | const GeneratorState & | state | ) | [inline, virtual, inherited] |
Setup the generator from a generator state object.
Definition at line 90 of file Generator.hh.
virtual void setVersion | ( | const std::string & | version | ) | [inline, virtual, inherited] |
Set the generator version.
Definition at line 102 of file Generator.hh.
References Generator::_myVersion, and Generator::_versionSet.
Referenced by AGILe::Loader::createGen().
00102 { 00103 _myVersion = version; 00104 _versionSet = true; 00105 }
double _crossSection [protected, inherited] |
Definition at line 282 of file Generator.hh.
Referenced by Rapgap::getCrossSection(), Phojet::getCrossSection(), Generator::getCrossSection(), FPythia::getCrossSection(), FHerwig::getCrossSection(), Cascade::getCrossSection(), and Ariadne::getCrossSection().
double _e1 [protected] |
Definition at line 67 of file Ariadne.hh.
Referenced by Ariadne::initialize(), and Ariadne::setGenSpecificInitialState().
double _e2 [protected] |
Definition at line 67 of file Ariadne.hh.
Referenced by Ariadne::initialize(), and Ariadne::setGenSpecificInitialState().
HepMC::IO_HEPEVT _hepevt [protected] |
HEPEVT->HepMC converter.
Definition at line 73 of file Ariadne.hh.
Referenced by Ariadne::fillEvent().
bool _initialized [protected, inherited] |
Flag for detecting whether the initialization method has run.
Definition at line 288 of file Generator.hh.
Referenced by Rapgap::initialize(), Phojet::initialize(), FPythia::initialize(), FHerwigJimmy::initialize(), FHerwig::initialize(), Cascade::initialize(), Ariadne::initialize(), Generator::makeEvent(), Generator::setParam(), and Generator::setSeed().
bool _initialstateset [protected, inherited] |
Flag for detecting whether the setInitialState method has run.
Definition at line 285 of file Generator.hh.
Referenced by Generator::initialize(), and Generator::setInitialState().
string _myName [protected, inherited] |
Generator name.
Definition at line 294 of file Generator.hh.
Referenced by AlpGenFHerwig::AlpGenFHerwig(), AlpGenFPythia::AlpGenFPythia(), CharybdisFHerwig::CharybdisFHerwig(), CharybdisFHerwigJimmy::CharybdisFHerwigJimmy(), CharybdisFPythia::CharybdisFPythia(), FHerwig::FHerwig(), FHerwigJimmy::FHerwigJimmy(), FPythia::FPythia(), and Generator::getName().
int _nevt [protected] |
Event counter.
Definition at line 70 of file Ariadne.hh.
Referenced by Ariadne::Ariadne(), and Ariadne::makeEvent().
string _particleName1 [protected] |
Internal storage of initial state params.
Definition at line 66 of file Ariadne.hh.
Referenced by Ariadne::initialize(), and Ariadne::setGenSpecificInitialState().
string _particleName2 [protected] |
Definition at line 66 of file Ariadne.hh.
Referenced by Ariadne::initialize(), and Ariadne::setGenSpecificInitialState().
map<PdgCode, std::string> _particleNames [protected, inherited] |
Collection of translated names for particles.
Definition at line 291 of file Generator.hh.
Referenced by FHerwig::_beamNumber(), Ariadne::Ariadne(), FHerwig::FHerwig(), FPythia::FPythia(), Phojet::Phojet(), Rapgap::Rapgap(), Phojet::setGenSpecificInitialState(), FPythia::setGenSpecificInitialState(), FHerwig::setGenSpecificInitialState(), and Ariadne::setGenSpecificInitialState().