00001 // QMcBeaver 00002 // 00003 // Constructed by 00004 // 00005 // Michael Todd Feldmann 00006 // and 00007 // David Randall "Chip" Kent IV 00008 // 00009 // Copyright 2000. All rights reserved. 00010 // 00011 // drkent@users.sourceforge.net mtfeldmann@users.sourceforge.net 00012 00013 #include "QMCInitializeWalkerFactory.h" 00014 00015 QMCInitializeWalker * QMCInitializeWalkerFactory:: 00016 initializeWalkerFactory(QMCInput *input, string & Type) 00017 { 00018 QMCInitializeWalker * initializeWalker = 0; 00019 00020 if (Type == "mikes_jacked_initialization") 00021 { 00022 initializeWalker = new QMCMikesJackedWalkerInitialization(input); 00023 } 00024 else if (Type == "mikes_better_initialization") 00025 { 00026 initializeWalker = new QMCMikesBetterWalkerInitialization(input); 00027 } 00028 else if (Type == "dans_walker_initialization") 00029 { 00030 initializeWalker = new QMCDansWalkerInitialization(input); 00031 } 00032 else if (Type == "amos_boring_initialization") 00033 { 00034 initializeWalker = new QMCAmosBoringWalkerInitialization(input); 00035 } 00036 00037 else 00038 { 00039 cerr << "ERROR: Unknown walker initialization type (" 00040 << Type 00041 << ") being assigned in QMCInitializeWalkerFactory!" << endl; 00042 exit(0); 00043 } 00044 00045 return initializeWalker; 00046 }