00001
00007
00008
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
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
00031
00032 void output_dcdfile(int, int, FloatVector *, const Lattice *);
00033 void output_veldcdfile(int, int, Vector *);
00034
00035
00036 void output_restart_coordinates(Vector *, int, int);
00037
00038
00039 void output_restart_velocities(int, int, Vector *);
00040
00041
00042 void output_final_coordinates(Vector *, int, int);
00043 void output_final_velocities(int, int, Vector *);
00044
00045 void scale_vels(Vector *, int, Real);
00046 void write_binary_file(char *, int, Vector *);
00047
00048 public :
00049 Output();
00050 ~Output();
00051 void energy(int, BigReal *);
00052
00053 static int coordinateNeeded(int);
00054 void coordinate(int, int, Vector *, FloatVector *, Lattice &);
00055
00056
00057
00058 static int velocityNeeded(int);
00059 void velocity(int, int, Vector *);
00060
00061
00062 };
00063
00064 #endif
00065