00001 /** 00002 * \file PDBOptimizerState.h 00003 * \brief Write geometry to a file during optimization 00004 * 00005 * Copyright 2007-2010 IMP Inventors. All rights reserved. 00006 */ 00007 00008 #ifndef IMPDISPLAY_PDB_OPTIMIZER_STATE_H 00009 #define IMPDISPLAY_PDB_OPTIMIZER_STATE_H 00010 00011 #include "display_config.h" 00012 #include "Writer.h" 00013 #include <IMP/OptimizerState.h> 00014 #include <IMP/SingletonContainer.h> 00015 #include <IMP/display/geometry.h> 00016 #include <IMP/Pointer.h> 00017 #include <vector> 00018 #include <IMP/atom/Hierarchy.h> 00019 #include <IMP/internal/utility.h> 00020 00021 IMPDISPLAY_BEGIN_NAMESPACE 00022 00023 //! Write molecules in pdb format periodically 00024 /** The State writes a series of files generated from a 00025 printf-style format string. 00026 \verbinclude display_log.py 00027 \ingroup logging 00028 */ 00029 class IMPDISPLAYEXPORT PDBOptimizerState: public OptimizerState 00030 { 00031 std::string name_template_; 00032 00033 atom::Hierarchies mh_; 00034 public: 00035 //! Write files using name_template as a template (must have a %d in it) 00036 PDBOptimizerState(const atom::Hierarchies &mh, 00037 std::string name_template); 00038 00039 IMP_PERIODIC_OPTIMIZER_STATE(PDBOptimizerState); 00040 }; 00041 00042 00043 IMPDISPLAY_END_NAMESPACE 00044 00045 #endif /* IMPDISPLAY_PDB_OPTIMIZER_STATE_H */