00001 // -*- C++ -*- 00002 #include "AGILe/Charybdis/CharybdisFHerwigJimmy.hh" 00003 #include "AGILe/FHerwig/FHerwigJimmy.hh" 00004 #include "AGILe/FHerwig/FHerwigWrapper65.hh" 00005 #include "AGILe/Utils.hh" 00006 //#include "HepMC/HEPEVT_Wrapper.h" 00007 00008 //----------------------------------------------------------------------------- 00009 // Implementation file for class : CharybdisFHerwigJimmy 00010 // 00011 // This is the file-reading interface wrapper only. It uses the FHerwigJimmy and 00012 // Charybdis classes to do most of the work. This class is only to provide 00013 // access to the parameter settings. 00014 // 00015 // Authors: Doug Gingrich 00016 // Andy Buckley 00017 //----------------------------------------------------------------------------- 00018 00019 namespace AGILe { 00020 00021 00022 // Standard constructor 00023 CharybdisFHerwigJimmy::CharybdisFHerwigJimmy() { 00024 _myName = "CharybdisHerwigJimmy"; 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 CharybdisFHerwigJimmy::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+Jimmy param handling 00042 ok = FHerwigJimmy::setParam(name, value); 00043 if (ok) return SUCCESS; 00044 // Fail 00045 MSG_ERROR("CharybdisHerwigJimmy 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::CharybdisFHerwigJimmy(); } 00056 void destroy(AGILe::Generator* gen) { delete gen; } 00057 }