00001 
#ifndef _ISOCLUSTERFILE_H_
00002 
#define _ISOCLUSTERFILE_H_
00003 
00004 
00005 
00006 
00007 
00008 
00009 
typedef struct
00010 
{
00011         
unsigned int state: 2;
00012         
unsigned int merged_file: 1;
00013 
00014         FILE*    pFile;
00015         fpos_t   datastart;
00016         fpos_t   curr_pos;
00017 
00018         
Experiment*     expmnt;
00019 
00020         
char*           pathname;
00021         
char*           procmapname;
00022         
00023         
int                     curve;
00024 
00025         
FPeak2i*        pFPeaks;
00026         
int                     nFPeaks;
00027         
int                     nCurrFPeak;
00028 
00029         IsotopicCluster *isotopicCluster;          
00030         
int                             nClusters;
00031         
int                             nCurrCluster;
00032         
00033         RestrictionStatistics           *pRestr;
00034         
int                                                     nRestr;
00035 
00036         
struct FPeakFilter*                             filter;
00037 
00038 } ISOTOPIC_CLUSTER_FILE;
00039 
00040 
int             IsotopicClusterFile_load(
char* szFilename, ISOTOPIC_CLUSTER_FILE *file);
00041 
void    IsotopicClusterFile_init(ISOTOPIC_CLUSTER_FILE *file);
00042 
00043 
typedef struct
00044 
{
00045         
FPeak2iPointer  fpeak;
00046         
int                             isotopicCluster;
00047 } FPeak2i_IsotopicCluster;
00048 
00049 FPeak2i_IsotopicCluster* FPeakFile_getFPeak2iToIsotopicClusterMap(ISOTOPIC_CLUSTER_FILE *file);
00050 
void FPeak_IsotopicCluster_sortByFPeak2iPointerSamplingCoordinates(FPeak2i_IsotopicCluster* fpk2isc, 
int size);
00051 FPeak2i_IsotopicCluster* FPeak_IsotopicCluster_queryBySamplingCoordinates(FPeak2i_IsotopicCluster* fpk2isc, 
int size, 
int scan, 
int bin);
00052 
00053 
#endif
00054