OSDN Git Service

rebuild: for X86LINUX64/X86LINUX64ICC
[eos/base.git] / hostdepend / X86LINUX64ICC / include / lllDataFit.h
1 /*
2 # %M% %Y% %I%
3 # The latest update : %G% at %U%
4 #
5 #%Z% lllDataFit.h ver %I%
6 #%Z% Created by 
7 #%Z%
8 #%Z% Usage : lllDataFit.h 
9 #%Z% Attention
10 #%Z%
11 */
12 #ifndef LL_DATA_FIT_H
13 #define LL_DATA_FIT_H
14
15 #include "llData.h"
16 #include "ctfInfo.h"
17
18 /* contant begin */
19 #define lllDataFitResidual (0x0f) 
20 #define PVALUE_MODE  (0x01)
21 #define QVALUE_MODE  (0x02)
22 #define RVALUE_MODE  (0x04)
23 #define Q2VALUE_MODE (0x08)
24
25 #define lllDataFitFitProcess                (0xf0)
26 #define lllDataFitFitProcessPrint           (0x10)
27 #define lllDataFitFitProcessSameLLStructure (0x20)
28 #define lllDataFitFitProcessMergedLL        (0x40)
29 /* contant end */
30
31 /* struct begin */
32 typedef struct llDataParaTypeRegion {
33         llDataParaTypeReal Max;
34         llDataParaTypeReal Min;
35     llDataParaTypeReal Delta;
36         llDataParaTypeReal Value;
37 } llDataParaTypeRegion;
38
39 typedef struct llDataParamToFit {
40     /* IntraMolecule Fit Parameters */
41     llDataParaTypeRegion Omega;
42     llDataParaTypeRegion x;   /* Axis Position */
43     /* InterMolecule Fit Parameters */
44     llDataParaTypeRegion  z;
45     llDataParaTypeRegion  r;
46     llDataParaTypeRegion  phi;
47     llDataPole            Pole;
48     /* Residue */
49     llDataParaTypeReal   R;
50     /* Control Parameters */
51     llDataParaTypeInteger flagResolution;
52     llDataParaTypeReal    Resolution;
53
54         int                        flagCTF;
55         int                ctfCompensationMode;
56         ctfInfo            CTF;
57         llDataParaTypeReal ctfCutOff;
58         int                flagllCTF;
59         llData             llCTF;
60
61         int flagLLTable;
62         llDataParaTypeInteger* llTable; 
63 } llDataParamToFit;
64
65 typedef struct llDataFittedParam {
66     llDataParamToFit   Para;
67         llDataParamToFit   PPara;
68     llDataParamToFit   QPara;
69     llDataParamToFit   Q2Para;
70     llDataParamToFit   RPara;
71         llDataParamToFit   PParaInv;
72     llDataParamToFit   QParaInv;
73     llDataParamToFit   Q2ParaInv;
74     llDataParamToFit   RParaInv;
75         
76         int flagFitFile;
77         char* fitFileName;
78         char* fitFileNameAnti;
79 } llDataFittedParam;
80 /* struct end */
81
82 #ifdef __cplusplus
83 extern "C" {
84 #endif
85
86 /* prototype begin */
87
88 /* in lllDataFit.c */
89 extern void lllDataFitOfSeparatedLL(llData* ll1, llDataBoth* ll2, llDataFittedParam* p, long mode);
90
91 /* in lllDataFit.c */
92 extern void lllDataFit(llData* ll1, llData* ll2, llDataFittedParam* p, long mode);
93 extern void lllDataFitWithFile(llData* ll1, llData* ll2, llDataFittedParam* p, char* paramFileName, long mode);
94
95 /* in lllDataFit2.c */
96 extern void lllDataFit2(llData* ll1, llData* ll2, llDataFittedParam* p, long mode);
97
98 /* in lllDataFitOut.c */
99 extern void lllDataFitParamOutput(FILE* fpt, char* ref, char* dat, llDataFittedParam* para, long mode);
100
101
102 /* in lllDataAxisSearch.c */
103 extern void lllDataAxisSearch(llData* ll1, llData* ll2, llDataFittedParam* p, long mode);
104 extern void lllDataAxisSearchWithFile(llData* ll1, llData* ll2, llDataFittedParam* p, char* paramFileName, long mode);
105
106 /* in lllDataAxisSearch2.c */
107 extern void lllDataAxisSearch2(llData* ll1, llData* ll2, llDataFittedParam* p, long mode);
108
109 /* in llDataPhaseShift.c */
110 extern void lllDataPhaseShiftInverse(llData* ll1, llData* ll2, llDataFittedParam* p);
111 extern void lllDataPhaseShift(llData* ll1, llData* ll2, llDataFittedParam* p);
112 extern void lllDataPhaseShiftIntra(llData* ll1, llData* ll2, llDataFittedParam* p);
113 extern void lllDataPhaseShiftInter(llData* ll1, llData* ll2, llDataFittedParam* p);
114
115 /* in lllDataFitUtil.c */
116 extern void lllDataFitllCTFSet(llData* ll, ctfInfo ctf, int mode);
117 extern void lllDataNewFittedParameterSet(llDataParamToFit* param);
118 extern void lllDataNewFittedParameterSet0(llDataParaTypeRegion* param);
119 extern void lllDataFittedParameterSet(llDataParamToFit* param, llDataParamToFit* range);
120 extern void lllDataFittedParameterSet0(llDataParaTypeRegion* param, llDataParaTypeRegion* region);
121 extern void lllDataFittedParameterFree(llDataFittedParam* param);
122 extern void lllDataFittedParameterFree0(llDataParamToFit* param);
123
124 /* prototype end */
125
126 /* struct begin */
127 typedef struct lllDataFitPVMInfo {
128         int* tids;
129         int  numTask;
130 } lllDataFitPVMInfo;
131 /* struct end */
132
133 /* prototype begin */
134
135 extern void lllDataFitServerStart(lllDataFitPVMInfo* linfo, FILE* fpt, int numTask);
136 extern void lllDataFitServerEnd(lllDataFitPVMInfo linfo);
137
138 extern void lllDataFitPVMStart(llData* llref, llData* llp, llDataFittedParam* p, int tid, long mode);
139 extern void lllDataFitPVMEnd(llData* llref, llData* llp, llDataFittedParam* p, int tid, long mode);
140 extern void lllDataFitPVMServer();
141 extern void lllDataFitWithFilePVMStart(llData* llref, llData* llp, llDataFittedParam* p, char* filename, int tid, long mode);
142 extern void lllDataFitWithFilePVMEnd(llData* llref, llData* llp, llDataFittedParam* p, char* filename, int tid, long mode);
143
144 extern void lllDataFittedParamSendByPVM(llDataFittedParam* p, int tid, int mode);
145 extern void lllDataFittedParamRecieveByPVM(llDataFittedParam* p, int tid, int mode);
146 extern void lllDataParamToFitSendByPVM(llDataParamToFit* p, int tid, int mode);
147 extern void lllDataParamToFitSendByPVM2(llDataParamToFit* p, int tid, int mode);
148 extern void lllDataParamToFitRecieveByPVM(llDataParamToFit* p, int tid, int mode);
149 extern void lllDataParamToFitRecieveByPVM2(llDataParamToFit* p, int tid, int mode);
150
151
152 extern void lllDataParaTypeRegionSendByPVM(llDataParaTypeRegion* p, int tid, int mode);
153 extern void lllDataParaTypeRegionRecieveByPVM(llDataParaTypeRegion* p, int tid, int mode);
154
155 /* prototype end */
156
157 #ifdef __cplusplus
158 };
159 #endif
160
161 #endif /* LL_DATA_FIT_H */ 
162