00001 // -*- C++ -*- 00002 #include "AGILe/Charybdis/CharybdisFHerwig.hh" 00003 #include "AGILe/FHerwig/FHerwig.hh" 00004 #include "AGILe/FHerwig/FHerwigWrapper65.hh" 00005 #include "AGILe/Utils.hh" 00006 //#include "HepMC/HEPEVT_Wrapper.h" 00007 00008 00009 //----------------------------------------------------------------------------- 00010 // Implementation file for class : CharybdisFHerwig 00011 // This is the file-reading interface wrapper only. It contains an instance of 00012 // FHerwig which does most of the work. This class is only to provide access to 00013 // the parameter settings. 00014 // 00015 // Authors: Doug Gingrich 00016 // Andy Buckley 00017 //----------------------------------------------------------------------------- 00018 00019 00020 namespace AGILe { 00021 00022 // Standard constructor 00023 CharybdisFHerwig::CharybdisFHerwig() { 00024 _myName = "CharybdisHerwig"; 00025 00026 // Set flag to read from LHA event file 00027 FC_HWPROC.IPROC = -100; 00028 // PDF defaults 00029 FC_HEPRUP.PDFGUP[0] = -1; 00030 FC_HEPRUP.PDFGUP[1] = -1; 00031 FC_HEPRUP.PDFSUP[0] = -1; 00032 FC_HEPRUP.PDFSUP[1] = -1; 00033 } 00034 00035 00036 // Set string parameters 00037 bool CharybdisFHerwig::setParam(const string& name, const string& value) { 00038 // Try Charybdis param handling first 00039 bool ok = _charybdis.setParam(name, value); 00040 if (ok) return SUCCESS; 00041 // Fall back to Herwig param handling 00042 ok = FHerwig::setParam(name, value); 00043 if (ok) return SUCCESS; 00044 // Fail 00045 MSG_ERROR("CharybdisFHerwig doesn't have a parameter called " << name); 00046 return FAILURE; 00047 } 00048 00049 00050 } 00051 00052 00053 // Class factory 00054 extern "C" { 00055 AGILe::Generator* create() { return new AGILe::CharybdisFHerwig(); } 00056 void destroy(AGILe::Generator* gen) { delete gen; } 00057 }