Simpatico  v1.10
HoomdConfigWriter.h
1 #ifndef TOOLS_HOOMD_CONFIG_WRITER_H
2 #define TOOLS_HOOMD_CONFIG_WRITER_H
3 
4 /*
5 * Simpatico - Simulation Package for Polymeric and Molecular Liquids
6 *
7 * Copyright 2010 - 2017, The Regents of the University of Minnesota
8 * Distributed under the terms of the GNU General Public License.
9 */
10 
11 #include <tools/config/ConfigWriter.h> // base class
12 #include <tools/config/TypeMap.h> // member
13 
14 namespace Tools
15 {
16 
17  class Configuration;
18  template <int N> class GroupStorage;
19 
20  using namespace Util;
21 
44  {
45 
46  public:
47 
52 
58  HoomdConfigWriter(Configuration& configuration);
59 
65  virtual void writeConfig(std::ofstream& file);
66 
72  virtual void readAuxiliaryFile(std::ifstream& file);
73 
74  private:
75 
76  TypeMap atomTypeMap_;
77  TypeMap bondTypeMap_;
78  TypeMap angleTypeMap_;
79  TypeMap dihedralTypeMap_;
80  TypeMap improperTypeMap_;
81  bool hasTypeMaps_;
82 
83  template <int N>
84  void writeGroups(std::ofstream& file,
85  const std::string& label,
86  const GroupStorage<N>& groups,
87  const TypeMap& map);
88 
89  };
90 
91 }
92 #endif
A container for Group<N> objects.
Map between type names and type ids.
Definition: TypeMap.h:26
Hoomd-blue XML format for configuration files.
An instantaneous molecular dynamics configuration.
Definition: Configuration.h:40
Abstract reader/writer for configuration files.
Utility classes for scientific computation.
Definition: accumulators.mod:1
Single-processor classes for pre- and post-processing MD trajectories.