00001 
#ifndef _MS2_TO_MS1_H_
00002 
#define _MS2_TO_MS1_H_
00003 
00004 
#define MAX_NO_MS1_PER_MS2_PEAK 20
00005 
00006 
enum { MAP2D_X_AXIS_UNITS_SCANS, MAP2D_X_AXIS_UNITS_TIME};
00007 
enum { MAP2D_Y_AXIS_UNITS_PPM, MAP2D_Y_AXIS_UNITS_MZ};
00008 
00009 
typedef struct
00010 
{
00011         
FPeak2i   pFPeaks[MAX_NO_MS1_PER_MS2_PEAK];
00012         
int               nFPeaks;
00013         
int               nMS2Scan;
00014 } MS2ToFPeak2i;
00015 
00016 
void MS2ToFPeak2i_fprint(FILE* fp, MS2ToFPeak2i* ms2toms1);
00017 
void MS2ToFPeak2iArray_fprint(FILE* fp, MS2ToFPeak2i* ms2toms1, 
int start, 
int stop);
00018 
00019 MS2ToFPeak2i* MS2ToFPeak2i_createArray(
int size, 
int start_index);
00020 
00021 
int MS2ToFPeak2i_cmp(
const void* p1, 
const void *p2);
00022 
00023 MS2ToFPeak2i* MS2ToMS1_convertFromMS1ToMS2(
struct MS1ToMS2* ms2indices, 
00024                                                                                    
FPeak2i* pFPeaks, 
int nFPeaks,
00025                                                                                    MS_MS_SpectrumHeader* pMS2Scan, 
int nMS2Scan);
00026 
00027 MS2ToFPeak2i* MS2ToMS1Maping_useDistance(
Experiment* q_expmnt,
00028                                                                                  Peak2f*  pMS2Events, 
int nMS2Events, 
00029                                                                                  
FPeak2i* pFPeaks,    
int nFPeaks,
00030                                                                                  
float x_axis_window, 
int x_axis_units,
00031                                                                                  
float y_axis_window, 
int y_axis_units);
00032 
00033 
#endif
00034