--- trunk/src/applications/staticProps/StaticProps.cpp 2005/05/27 04:41:34 544 +++ trunk/src/applications/staticProps/StaticProps.cpp 2006/08/30 21:04:04 1026 @@ -56,7 +56,13 @@ #include "applications/staticProps/GofAngle2.hpp" #include "applications/staticProps/GofXyz.hpp" #include "applications/staticProps/P2OrderParameter.hpp" +#include "applications/staticProps/RippleOP.hpp" #include "applications/staticProps/SCDOrderParameter.hpp" +#include "applications/staticProps/DensityPlot.hpp" +#include "applications/staticProps/RhoZ.hpp" +#if defined(HAVE_FFTW_H) || defined(HAVE_DFFTW_H) || defined(HAVE_FFTW3_H) +#include "applications/staticProps/Hxy.hpp" +#endif using namespace oopse; @@ -76,8 +82,6 @@ int main(int argc, char* argv[]){ //get the dumpfile name and meta-data file name std::string dumpFileName = args_info.input_arg; - std::string mdFileName = dumpFileName.substr(0, dumpFileName.rfind(".")) + ".md"; - std::string sele1; std::string sele2; @@ -88,7 +92,7 @@ int main(int argc, char* argv[]){ char* sele1Env= getenv("OOPSE_SELE1"); if (sele1Env) { sele1 = sele1Env; - }else { + }else if (!args_info.scd_given) { sprintf( painCave.errMsg, "neither --sele1 option nor $OOPSE_SELE1 is set"); painCave.severity = OOPSE_ERROR; @@ -103,7 +107,9 @@ int main(int argc, char* argv[]){ char* sele2Env = getenv("OOPSE_SELE2"); if (sele2Env) { sele2 = sele2Env; - } else { + } else if (args_info.density_given) { + sele2 = "select all"; + } else if(!args_info.scd_given && !args_info.density_given && !args_info.slab_density_given) { sprintf( painCave.errMsg, "neither --sele2 option nor $OOPSE_SELE2 is set"); painCave.severity = OOPSE_ERROR; @@ -139,9 +145,9 @@ int main(int argc, char* argv[]){ //parse md file and set up the system SimCreator creator; - SimInfo* info = creator.createSim(mdFileName); + SimInfo* info = creator.createSim(dumpFileName); - double maxLen; + RealType maxLen; if (args_info.length_given) { maxLen = args_info.length_arg; } else { @@ -170,7 +176,9 @@ int main(int argc, char* argv[]){ } } else if (args_info.p2_given) { analyser = new P2OrderParameter(info, dumpFileName, sele1, sele2); - } else if (args_info.scd_given) { + } else if (args_info.rp2_given){ + analyser = new RippleOP(info, dumpFileName, sele1, sele2); +}else if (args_info.scd_given) { if (batchMode) { analyser = new SCDOrderParameter(info, dumpFileName, args_info.molname_arg, args_info.begin_arg, args_info.end_arg); @@ -178,6 +186,15 @@ int main(int argc, char* argv[]){ std::string sele3 = args_info.sele3_arg; analyser = new SCDOrderParameter(info, dumpFileName, sele1, sele2, sele3); } + }else if (args_info.density_given) { + analyser= new DensityPlot(info, dumpFileName, sele1, sele2, maxLen, args_info.nrbins_arg); + } else if (args_info.slab_density_given) { + Mat3x3d hmat = info->getSnapshotManager()->getCurrentSnapshot()->getHmat(); + analyser = new RhoZ(info, dumpFileName, sele1, hmat(2, 2), args_info.nrbins_arg); +#if defined(HAVE_FFTW_H) || defined(HAVE_DFFTW_H) || defined(HAVE_FFTW3_H) + }else if (args_info.hxy_given) { + analyser = new Hxy(info, dumpFileName, sele1, args_info.nbins_x_arg, args_info.nbins_y_arg, args_info.nrbins_arg); +#endif } if (args_info.output_given) {