Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

Output.h

Go to the documentation of this file.
00001 
00007 /*
00008    This object outputs the data collected on the master  node
00009 */
00010 
00011 #ifndef OUTPUT_H
00012 #define OUTPUT_H
00013 
00014 #include "common.h"
00015 
00016 class Vector;
00017 class FloatVector;
00018 class Lattice;
00019 
00020 // semaphore "steps", must be negative
00021 #define FILE_OUTPUT -1
00022 #define END_OF_RUN -2
00023 #define EVAL_MEASURE -3
00024 
00025 class Output 
00026 {
00027 
00028 private:
00029 
00030    //  output coords to dcd file
00031    //  Pass non-NULL Lattice to include unit cell in the timesteps.
00032    void output_dcdfile(int, int, FloatVector *, const Lattice *); 
00033    void output_veldcdfile(int, int, Vector *);  //  output velocities to
00034                                                 //  dcd file
00035 
00036    void output_restart_coordinates(Vector *, int, int);
00037                                                 //  output coords to 
00038                                                 //  restart file
00039    void output_restart_velocities(int, int, Vector *);
00040                                                 //  output velocities to 
00041                                                 //  restart file
00042    void output_final_coordinates(Vector *, int, int);//  output final coordinates
00043    void output_final_velocities(int, int, Vector *);    //  output final coordinates
00044 
00045    void scale_vels(Vector *, int, Real);        //  scale velocity vectors before output
00046    void write_binary_file(char *, int, Vector *); // Write a binary restart file with
00047                                                 //  coordinates or velocities
00048 public :
00049    Output();                                    //  Constructor
00050    ~Output();                                   //  Destructor
00051    void energy(int, BigReal *);                 //  Output energies
00052 
00053    static int coordinateNeeded(int);
00054    void coordinate(int, int, Vector *, FloatVector *, Lattice &);
00055                                                 //  Produce appropriate 
00056                                                 //  coordinate output for 
00057                                                 //  the current timestep
00058    static int velocityNeeded(int);
00059    void velocity(int, int, Vector *);           //  Produce appropriate velocity
00060                                                 //  output for the current 
00061                                                 //  timestep
00062 };
00063 
00064 #endif
00065 

Generated on Thu Aug 28 04:07:42 2008 for NAMD by  doxygen 1.3.9.1