agile is hosted by Hepforge, IPPP Durham

Ariadne Class Reference

#include <Ariadne.hh>

Inheritance diagram for Ariadne:
Collaboration diagram for Ariadne:

List of all members.

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 GeneratorStategetState ()
 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.
LoggetLog () 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.

Detailed Description

Abstract base class for the Fortran-based Pythia 6 generator series using ARIADNE parton shower

Author:
Sharka Todorova

Definition at line 12 of file Ariadne.hh.


Member Enumeration Documentation

enum Result [inherited]

Really just syntactic sugar for bool returns from setParam.

Enumerator:
SUCCESS 
FAILURE 

Definition at line 37 of file Generator.hh.

00037 { SUCCESS=1, FAILURE=0 };


Constructor & Destructor Documentation

Ariadne (  ) 

Standard constructor.

Pythia uses HEPEVT with 4000/10000 entries and 8-byte floats

Todo:
Also deal with gamma/e- etc. for resolved photoproduction...

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]

Destructor.

Definition at line 18 of file Ariadne.hh.

00018 { }


Member Function Documentation

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().

00275                                                 {
00276       evt.clear();
00277     }

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   }

const string getName (  )  const [inline, virtual]

Get the generator name.

Reimplemented from Generator.

Definition at line 24 of file Ariadne.hh.

00024                                  {
00025       return "ARIADNE";
00026     }

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.

Todo:
This getName() doesn't get used polymophically: fix it!

Reimplemented from Generator.

Definition at line 254 of file Ariadne.cc.

References FC_PYPARS.

00254                                   {
00255     stringstream s;
00256     s << FC_PYPARS.mstp[180] << "." << FC_PYPARS.mstp[181];
00257     return s.str();
00258   }

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.

Todo:
Allow control of choice of underlying event and shower evolutions via "meta-params".

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.

Todo:
Get momenta and energies unconfused.

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.

Todo:
Make sure it was successful - exception handling

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.

00090                                                        {
00091       throw runtime_error("This ain't ready yet, it's just here as an interface placeholder. Sorry.");
00092     }

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     }


Member Data Documentation

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]
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().

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().


The documentation for this class was generated from the following files:
Generated on Tue Mar 6 10:39:40 2012 for AGILe - A Generator Interface Library (+ executable) by  doxygen 1.6.3