/* ************************************************************************ * * pos.h - * * Copyright (c) 1995 * * ETH Zuerich * Institut fuer Molekularbiologie und Biophysik * ETH-Hoenggerberg * CH-8093 Zuerich * * All Rights Reserved * * Date of last modification : 95/09/15 * Pathname of SCCS file : /export/home3/cb/garant-1.0/src/SCCS/s.pos.h * SCCS identification : 1.2 * ************************************************************************ */ /**************************************************************************/ /* pos.h */ /* */ /* list of complete assignment possibilities */ /**************************************************************************/ #ifndef _POS_H_ #define _POS_H_ #include "element.h" #include "global.h" class LiPeak; class ErPeak; class Optimizer; class NMRdia; class OptPosSelection; class Peak; /* forward declarations */ class LiOptPos; class OptPos : public Element /* info for assignment possibility */ { float score; /* gloabal score of the possibility */ float value; /* value of the possibility */ float sumScore; /* summed up scores used for selection */ int nr; /* number of the asisgnment in the nmr */ /* diagram */ public: friend class LiOptPos; friend class OptPosSelection; OptPos(int); /* initialize with given number */ }; class LiOptPos : public Index { ErPeak **peaks; /* order in which the peaks assignments */ /* are written to the file */ int nrEntries; /* how many expected peaks */ public: LiOptPos(); virtual int compare(const Element *,const Element *); /* use nr for comparing */ void init(int, LiErPeak &, LiCo &, LiPeak &); /* initialize given nmber of assignment */ /* possibilities of the given list of */ /* peaks */ int select(float, int, int, int, int *); /* random select set of a ass. possibility*/ /* INPUT: temprature */ /* number of poss. to select */ /* first allowed possibility */ /* last allowed possibility */ /* OUTPUT: numbers of the selected poss. */ /* number of selected poss. */ void update(float,int,int, NMRdia &dia); /* update optimization possibility */ void scorePop(int,int, NMRdia &dia); /* calculate scores for a population */ }; #endif