2b28676812392837469bec5d808a714cf15ec03b
[alexxy/gromacs.git] / include / types / trx.h
1 /*
2  * $Id$
3  * 
4  *       This source code is part of
5  * 
6  *        G   R   O   M   A   C   S
7  * 
8  * GROningen MAchine for Chemical Simulations
9  * 
10  *               VERSION 2.0
11  * 
12  * Copyright (c) 1991-1999
13  * BIOSON Research Institute, Dept. of Biophysical Chemistry
14  * University of Groningen, The Netherlands
15  * 
16  * Please refer to:
17  * GROMACS: A message-passing parallel molecular dynamics implementation
18  * H.J.C. Berendsen, D. van der Spoel and R. van Drunen
19  * Comp. Phys. Comm. 91, 43-56 (1995)
20  * 
21  * Also check out our WWW page:
22  * http://md.chem.rug.nl/~gmx
23  * or e-mail to:
24  * gromacs@chem.rug.nl
25  * 
26  * And Hey:
27  * Green Red Orange Magenta Azure Cyan Skyblue
28  */
29
30 #ifdef HAVE_CONFIG_H
31 #include <config.h>
32 #endif
33
34 /* The bools indicate whether a field was read from the trajectory.
35  * Do not try to use a pointer when its bool is FALSE, as memory might
36  * not be allocated.
37  */ 
38 typedef struct
39 {
40   int  flags;     /* flags for read_first/next_frame  */
41   int  not_ok;    /* integrity flags (see statutil.h  */
42   int  natoms;    /* number of atoms (atoms, x, v, f) */
43   real t0;        /* time of the first frame, needed  *
44                    * for skipping frames with -dt     */
45   bool bTitle;
46   char *title;    /* title of the frame               */
47   bool bStep;
48   int  step;      /* MD step number                   */
49   bool bTime;
50   real time;      /* time of the frame                */
51   bool bLambda;
52   real lambda;    /* free energy perturbation lambda  */
53   bool bAtoms;
54   t_atoms *atoms; /* atoms struct (natoms)            */
55   bool bPrec;
56   real prec;      /* precision of x, fraction of 1 nm */
57   bool bX;
58   rvec *x;        /* coordinates (natoms)             */
59   bool bV;
60   rvec *v;        /* velocities (natoms)              */
61   bool bF;
62   rvec *f;        /* forces (natoms)                  */
63   bool bBox;
64   matrix box;     /* the 3 box vectors                */
65 } t_trxframe;
66