4 * This source code is part of
8 * GROningen MAchine for Chemical Simulations
12 * Copyright (c) 1991-2001
13 * BIOSON Research Institute, Dept. of Biophysical Chemistry
14 * University of Groningen, The Netherlands
16 * This program is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License
18 * as published by the Free Software Foundation; either version 2
19 * of the License, or (at your option) any later version.
21 * If you want to redistribute modifications, please consider that
22 * scientific software is very special. Version control is crucial -
23 * bugs must be traceable. We will be happy to consider code for
24 * inclusion in the official distribution, but derived work must not
25 * be called official GROMACS. Details are found in the README & COPYING
26 * files - if they are missing, get the official version at www.gromacs.org.
28 * To help us fund GROMACS development, we humbly ask that you cite
29 * the papers on the package - you can find them in the top README file.
31 * Do check out http://www.gromacs.org , or mail us at gromacs@gromacs.org .
34 * Giving Russians Opium May Alter Current Situation
40 static char *SRCID_rdgroup_h = "$Id$";
46 #ident "@(#) rdgroup.h 1.15 2/2/97"
47 #endif /* HAVE_IDENT */
54 extern void check_index(char *gname,int n,atom_id index[],
55 char *traj,int natoms);
56 /* Checks if any index is smaller than zero or larger than natoms,
57 * if so a fatal_error is given with the gname (if gname=NULL, "Index" is used)
58 * and traj (if traj=NULL, "the trajectory" is used).
61 t_block *init_index(char *gfile, char ***grpname);
62 /* Lower level routine than the next */
64 void rd_index(char *statfile,int ngrps,int isize[],
65 atom_id *index[],char *grpnames[]);
66 /* Assume the group file is generated, so the
67 * format need not be user-friendly. The format is:
68 * nr of groups, total nr of atoms
69 * for each group: name nr of element, elements
70 * The function opens a file, reads ngrps groups, puts the
71 * sizes in isize, the atom_id s in index and the names of
72 * the groups in grpnames.
74 * It is also assumed, that when ngrps groups are requested
75 * memory has been allocated for ngrps index arrays, and that
76 * the dimension of the isize and grpnames arrays are ngrps.
79 void rd_index_nrs(char *statfile,int ngrps,int isize[],
80 atom_id *index[],char *grpnames[],int grpnr[]);
81 /* the same but also reads the number of the selected group*/
83 void get_index(t_atoms *atoms, char *fnm, int ngrps,
84 int isize[], atom_id *index[],char *grpnames[]);
85 /* Does the same as rd_index, but if the fnm pointer is NULL it
86 * will not read from fnm, but it will make default index groups
87 * for the atoms in *atoms.
94 #endif /* _rdgroup_h */