Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals

sbmlResults.h

Go to the documentation of this file.
00001 /*
00002   Last changed Time-stamp: <2005-12-15 20:34:37 raim>
00003   $Id: sbmlResults.h,v 1.10 2005/12/15 19:54:06 raimc Exp $
00004 */
00005 /* 
00006  *
00007  * This library is free software; you can redistribute it and/or modify it
00008  * under the terms of the GNU Lesser General Public License as published
00009  * by the Free Software Foundation; either version 2.1 of the License, or
00010  * any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful, but
00013  * WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
00014  * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. The software and
00015  * documentation provided hereunder is on an "as is" basis, and the
00016  * authors have no obligations to provide maintenance, support,
00017  * updates, enhancements or modifications.  In no event shall the
00018  * authors be liable to any party for direct, indirect, special,
00019  * incidental or consequential damages, including lost profits, arising
00020  * out of the use of this software and its documentation, even if the
00021  * authors have been advised of the possibility of such damage.  See
00022  * the GNU Lesser General Public License for more details.
00023  *
00024  * You should have received a copy of the GNU Lesser General Public License
00025  * along with this library; if not, write to the Free Software Foundation,
00026  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
00027  *
00028  * The original code contained here was initially developed by:
00029  *
00030  *     Rainer Machne
00031  *
00032  * Contributor(s):
00033  *
00034  */
00035 
00036 #ifndef _SBMLRESULTS_H_
00037 #define _SBMLRESULTS_H_
00038 
00039 #include "sbmlsolver/exportdefs.h"
00040 
00041 
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045 
00046 
00047   typedef struct timeCourse timeCourse_t ;
00051   struct timeCourse {
00052     int timepoints;       
00054     char *name;           
00055     double *values;       
00056     double **sensitivity; 
00057   } ;
00058 
00059   typedef struct timeCourseArray timeCourseArray_t ;
00061   struct timeCourseArray {
00062     int num_val;        
00063     timeCourse_t **tc;  
00064   } ;
00065 
00066 
00067   typedef struct _SBMLResults SBMLResults_t;
00073   struct _SBMLResults {
00074 
00075     timeCourse_t *time;                
00077     /* concentration and variable parameter and compartment time series */
00078     timeCourseArray_t *species;       
00079     timeCourseArray_t *compartments;  
00081     timeCourseArray_t *parameters;    
00083     timeCourseArray_t *fluxes;        
00085     int nsens;
00087     char **param;
00088     
00089   } ;
00090 
00091 
00092 
00093   typedef struct _SBMLResultsMatrix SBMLResultsMatrix_t;
00096   struct _SBMLResultsMatrix {
00097     SBMLResults_t ***results;
00098     int i;
00099     int j;
00100   } ;
00101 
00102   SBML_ODESOLVER_API timeCourse_t *SBMLResults_getTime(SBMLResults_t *);  
00103   SBML_ODESOLVER_API timeCourse_t *SBMLResults_getTimeCourse(SBMLResults_t *, const char *);
00104   SBML_ODESOLVER_API int SBMLResults_getNout(SBMLResults_t *);
00105   SBML_ODESOLVER_API int SBMLResults_getNumSens(SBMLResults_t *);
00106   SBML_ODESOLVER_API const char *SBMLResults_getSensParam(SBMLResults_t *, int);
00107   SBML_ODESOLVER_API timeCourse_t *Compartment_getTimeCourse(Compartment_t *, SBMLResults_t *);
00108   SBML_ODESOLVER_API timeCourse_t *Species_getTimeCourse(Species_t *, SBMLResults_t *);
00109   SBML_ODESOLVER_API timeCourse_t *Parameter_getTimeCourse(Parameter_t *, SBMLResults_t *);
00110   SBML_ODESOLVER_API const char*TimeCourse_getName(timeCourse_t *);
00111   SBML_ODESOLVER_API int TimeCourse_getNumValues(timeCourse_t *);
00112   SBML_ODESOLVER_API double TimeCourse_getValue(timeCourse_t *, int);
00113   SBML_ODESOLVER_API double TimeCourse_getSensitivity(timeCourse_t *, int, int);
00114   SBML_ODESOLVER_API void SBMLResults_dump(SBMLResults_t *);
00115   SBML_ODESOLVER_API void SBMLResults_dumpSpecies(SBMLResults_t *);
00116   SBML_ODESOLVER_API void SBMLResults_dumpCompartments(SBMLResults_t *);
00117   SBML_ODESOLVER_API void SBMLResults_dumpParameters(SBMLResults_t *);
00118   SBML_ODESOLVER_API void SBMLResults_dumpFluxes(SBMLResults_t *);
00119   SBML_ODESOLVER_API void SBMLResults_free(SBMLResults_t *);
00120   SBML_ODESOLVER_API void SBMLResultsMatrix_free(SBMLResultsMatrix_t *);
00121   SBML_ODESOLVER_API SBMLResults_t *SBMLResultsMatrix_getResults(SBMLResultsMatrix_t *, int i, int j);
00122 
00123  
00124 #ifdef __cplusplus
00125 }
00126 #endif
00127 
00128 /* not part of the API */
00129 SBMLResults_t *SBMLResults_create(Model_t *, int timepoints);
00130 SBMLResultsMatrix_t *SBMLResultsMatrix_allocate(int values, int timepoints);
00131 
00132 #endif
00133 
00134 /* End of file */

Generated on Wed Dec 21 18:10:07 2005 for SBML ODE Solver Library API by  doxygen 1.4.4