/[PAMELA software]/DarthVader/TrackerLevel2/inc/TrkStruct.h
ViewVC logotype

Annotation of /DarthVader/TrackerLevel2/inc/TrkStruct.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.36 - (hide annotations) (download)
Thu Feb 27 11:24:43 2014 UTC (10 years, 9 months ago) by pam-fi
Branch: MAIN
Changes since 1.35: +8 -0 lines
File MIME type: text/plain
Added new tracking algorythm

1 mocchiut 1.1 /**
2     * \file TrkStruct.h
3     * \author Elena Vannuccini
4     * \date
5     */
6     #ifndef trkstruct_h
7     #define trkstruct_h
8    
9 pam-fi 1.9 #define NPLANE 6
10 pam-fi 1.14 #define NVIEW 12
11     #define NVK 24
12 pam-fi 1.15 #define NLADDER 3
13 pam-fi 1.32 #define NSENSOR 2
14 pam-fi 1.33 #define NSTRIPVK 128
15     #define NSTRIP NSTRIPVK*NVK
16 pam-fi 1.9
17     #define NCLMAX_VIEW 200 //max n.clusters per view
18     #define NCLSTR 20 //max n.strip per cluster
19     #define NCLMAX (NCLMAX_VIEW*12) //max n.clusters total
20     #define NCLBUFF (NCLMAX*NCLSTR)
21    
22     #define NDBLT_MAX_NT 1000 // 0.2*ndblt_max
23     #define NTRPT_MAX_NT 10000 // 0.2*ntrpt_max
24     #define NCLOYZ_MAX 200
25     #define NCLOXZ_MAX 200
26    
27 mocchiut 1.1 #define NTRKMAX 10
28 pam-fi 1.9 #define NSINGMAX NCLMAX //100
29 mocchiut 1.1
30 pam-fi 1.15 #define NANGMAX 21
31 pam-fi 1.16 #define NETAVALMAX 500
32 pam-fi 1.5
33 pam-fi 1.28 #define NTRACKSMAX (NCLOYZ_MAX*NCLOXZ_MAX)
34 pam-fi 1.8
35 pam-fi 1.16 #include <CalibTrk1Event.h>
36     #include <CalibTrk2Event.h>
37     using namespace pamela;
38     //#include <TrkCalib.h>
39 pam-fi 1.2
40 mocchiut 1.1 #include <TString.h>
41     #include <TFile.h>
42 pam-fi 1.2 #include <TTree.h>
43 mocchiut 1.1
44 pam-fi 1.16
45 pam-fi 1.28
46 pam-fi 1.2 #include <fstream>
47     #include <iostream>
48 mocchiut 1.1 /**
49 pam-fi 1.2 * \brief Struct to pass calibration parameters to F77 routines
50 mocchiut 1.1 */
51 pam-fi 1.2 struct cTrkCalib {
52    
53 mocchiut 1.1 float pedestal[128][24][12];
54     float pedestal_t[128][24][12];
55     float sigma[128][24][12];
56     float sigma_t[128][24][12];
57     int bad[128][24][12];
58 pam-fi 1.2
59 pam-fi 1.23 void Reset(){
60     for(int is=0; is<128; is++){
61     for(int ivk=0; ivk<24; ivk++){
62     for(int iv=0; iv<12; iv++){
63     pedestal[is][ivk][iv]=0.;
64     pedestal_t[is][ivk][iv]=0.;
65     sigma[is][ivk][iv]=0.;
66     sigma_t[is][ivk][iv]=0.;
67     bad[is][ivk][iv]=1;
68     }
69     }
70     }
71     }
72    
73 pam-fi 1.16 /* void FillACalibFrom(TFile* , Int_t , Int_t ); */
74     /* void FillFCalibFrom(TFile* , Int_t , Int_t ); */
75     /* void FillTCalibFrom(TFile* , Int_t , Int_t ); */
76     /* void FillTCalibFrom(TString); */
77 pam-fi 1.2
78 mocchiut 1.1 };
79     // ==================================================================
80     /**
81     * \brief Struct to pass tracker LEVEL0 data to F77 routines
82     */
83     struct cTrkLevel0 {
84     int DAQmode[12];
85     int DSPnumber[12];
86     int DATAlength[12];
87     int eventn[12];
88     int nclust[12];
89     int cutc[12];
90     int cutcl[12];
91     int addrcluster[3][12];
92     int signcluster[3][12];
93     int fc[12];
94     int compressiontime[12];
95     int fl5[12];
96     int fl4[12];
97     int fl3[12];
98     int fl2[12];
99     int fl1[12];
100     int fl6[12];
101     int checksum[12];
102     int TOTDATAlength;
103     int datatracker[49152];
104     int pnum[12];
105     int cmdnum[12];
106     int bid[12];
107     int alarm[12];
108     int aswr[12];
109     int good0;
110     int crc[12];
111     };
112     // ==================================================================
113     /**
114     * \brief Struct to pass tracker LEVEL1 data to F77 routines
115     */
116     struct cTrkLevel1 {
117 pam-fi 1.6 // int good1;
118 pam-fi 1.8 int good[12];
119 mocchiut 1.1 int nclstr1;
120 pam-fi 1.8 int view[NCLMAX];
121     int ladder[NCLMAX];
122     int maxs[NCLMAX];
123     int mult[NCLMAX];
124     float dedx[NCLMAX];
125     int indstart[NCLMAX];
126     int indmax[NCLMAX];
127 mocchiut 1.1 int totCLlength;
128 pam-fi 1.8 float clsignal[NCLBUFF];
129     float clsigma[NCLBUFF];
130     int cladc[NCLBUFF];
131     int clbad[NCLBUFF];
132     float cnev[24][12];
133     int cnnev[24][12];
134     float cnrmsev[24][12];
135     int fshower[12];
136     int whichtrack[NCLMAX];
137 pam-fi 1.16
138 mocchiut 1.1 };
139     // ==================================================================
140     /**
141     * \brief Struct to pass tracker LEVEL2 data to F77 routines
142     */
143     struct cTrkLevel2 {
144 pam-fi 1.6 // int good2;
145     // int crc[12];
146 pam-fi 1.19 int good[12];
147     int vkflag[24][12];
148 mocchiut 1.1 // ----------------------------
149     int nclsx;
150     int planex[NSINGMAX];
151     float xs[NSINGMAX][2];
152     float signlxs[NSINGMAX];
153 pam-fi 1.8 int clsx[NSINGMAX];
154 pam-fi 1.31 int sxbad[NSINGMAX];
155     int multmaxsx[NSINGMAX];
156 mocchiut 1.1 // ----------------------------
157     int nclsy;
158     int planey[NSINGMAX];
159     float ys[NSINGMAX][2];
160     float signlys[NSINGMAX];
161 pam-fi 1.8 int clsy[NSINGMAX];
162 pam-fi 1.31 int sybad[NSINGMAX];
163     int multmaxsy[NSINGMAX];
164 mocchiut 1.1 // ----------------------------
165     int ntrk;
166     int image[NTRKMAX];
167     float xm_nt[NTRKMAX][6];
168     float ym_nt[NTRKMAX][6];
169     float zm_nt[NTRKMAX][6];
170     float resx_nt[NTRKMAX][6];
171     float resy_nt[NTRKMAX][6];
172 pam-fi 1.19 float tailx[NTRKMAX][6];
173     float taily[NTRKMAX][6];
174 mocchiut 1.1 float al_nt[NTRKMAX][5];
175     float coval[NTRKMAX][5][5];
176     float chi2_nt[NTRKMAX];
177 pam-fi 1.8 int nstep_nt[NTRKMAX];
178     int xgood_nt[NTRKMAX][6];
179 mocchiut 1.1 int ygood_nt[NTRKMAX][6];
180 pam-fi 1.19 int ls[NTRKMAX][6];
181     int xbad[NTRKMAX][6];
182     int ybad[NTRKMAX][6];
183 mocchiut 1.1 float xv_nt[NTRKMAX][6];
184     float yv_nt[NTRKMAX][6];
185     float zv_nt[NTRKMAX][6];
186     float axv_nt[NTRKMAX][6];
187     float ayv_nt[NTRKMAX][6];
188     float dedx_x[NTRKMAX][6];
189     float dedx_y[NTRKMAX][6];
190 pam-fi 1.8 int cltrx[NTRKMAX][6];
191     int cltry[NTRKMAX][6];
192 pam-fi 1.27 int multmaxx[NTRKMAX][6];
193     int multmaxy[NTRKMAX][6];
194     float seedx[NTRKMAX][6];
195     float seedy[NTRKMAX][6];
196     float xpu[NTRKMAX][6];
197     float ypu[NTRKMAX][6];
198 pam-fi 1.5 // float bdl[NTRKMAX];
199 pam-fi 1.3
200 pam-fi 1.19 void InitcTrkLevel2(){
201    
202 pam-fi 1.6 // good2 = 0;
203 pam-fi 1.19 for(Int_t i=0; i<12 ; i++){
204     good[i] = 0;
205     for(Int_t ii=0; ii<24 ; ii++)vkflag[ii][i]=0;
206     }
207     // ----------------------------
208     nclsx = 0;
209     nclsy = 0;
210     for(Int_t i=0; i<NSINGMAX ; i++){
211     planex[i] = 0;
212     xs[i][0] = 0;
213     xs[i][1] = 0;
214     signlxs[i] = 0;
215 pam-fi 1.31 clsx[i] = 0;
216     sxbad[i] = 0;
217 pam-fi 1.19 planey[i] = 0;
218     ys[i][0] = 0;
219     ys[i][1] = 0;
220     signlys[i] = 0;
221 pam-fi 1.31 clsy[i] = 0;
222     sybad[i] = 0;
223 pam-fi 1.19 }
224     // ----------------------------
225     ntrk =0 ;
226    
227     for(Int_t i=0; i<NTRKMAX ; i++){
228     image[i] = 0;
229     chi2_nt[i] = 0;
230     // bdl[i] = 0;
231    
232     for(Int_t ii=0; ii<5 ; ii++){
233     al_nt[i][ii] = 0;
234     for(Int_t iii=0; iii<5 ; iii++)
235     coval[i][ii][iii] = 0;
236     }
237    
238     for(Int_t ii=0; ii<6 ; ii++){
239     xm_nt[i][ii] = 0;
240     ym_nt[i][ii] = 0;
241     zm_nt[i][ii] = 0;
242     resx_nt[i][ii] = 0;
243     resy_nt[i][ii] = 0;
244     xgood_nt[i][ii] = 0;
245     ygood_nt[i][ii] = 0;
246     xv_nt[i][ii] = 0;
247     yv_nt[i][ii] = 0;
248     zv_nt[i][ii] = 0;
249     axv_nt[i][ii] = 0;
250     ayv_nt[i][ii] = 0;
251     dedx_x[i][ii] = 0;
252     dedx_y[i][ii] = 0;
253 pam-fi 1.27 multmaxx[i][ii] = 0;
254     multmaxy[i][ii] = 0;
255     seedx[i][ii] = 0;
256     seedy[i][ii] = 0;
257     xpu[i][ii] = 0;
258     ypu[i][ii] = 0;
259 pam-fi 1.19 }
260     }
261 pam-fi 1.3 }
262    
263 mocchiut 1.1 };
264     // ==================================================================
265     /**
266     * \brief Struct to pass calibration/parameter file paths to F77 routines
267     */
268     struct cPath {
269 pam-fi 1.8 char path[256];
270 mocchiut 1.1 int pathlen;
271 pam-fi 1.2 int error;
272 mocchiut 1.1 /**
273     * Fill the struct variables from a TString object
274     */
275     void FillWith(TString s){
276 pam-fi 1.2 pathlen = s.Length();
277     const char *pc = s.Data();
278     for(Int_t i=0; i<=pathlen; i++) path[i] = *pc++;
279 mocchiut 1.1 };
280 pam-fi 1.11
281 mocchiut 1.1 };
282    
283     // ==================================================================
284 pam-fi 1.11 /* /\** */
285     /* * \brief Struct to pass magnetic-field file paths to F77 routines */
286     /* *\/ */
287     /* struct cBPath { */
288     /* char b_path[256]; */
289     /* int b_pathlen; */
290     /* int b_error; */
291     /* int b_loaded; */
292     /* /\** */
293     /* * Fill the struct variables from a TString object and set */
294     /* * the load flag to FALSE. */
295     /* *\/ */
296     /* void FillWith(TString s){ */
297     /* b_loaded = 0; */
298     /* b_pathlen = s.Length(); */
299     /* const char *pc = s.Data(); */
300     /* for(Int_t i=0; i<=b_pathlen; i++) b_path[i] = *pc++; */
301     /* }; */
302     /* /\** */
303     /* * Fill the struct variables from a TString object */
304     /* *\/ */
305     /* int BIsLoaded(){ return b_loaded; }; */
306 mocchiut 1.1
307 pam-fi 1.11 /* }; */
308 mocchiut 1.1
309 pam-fi 1.2 // ==================================================================
310     /**
311     * \brief Struct to set debug mode in F77 routines
312     */
313     struct cDbg {
314     int debug;
315     int verbose;
316     int warning;
317     // bool debug;
318     // bool verbose;
319     void SetNone() {debug=0; verbose=0; warning=0;};
320     void SetWarning(){debug=0; verbose=0; warning=1;};
321     void SetVerbose(){debug=0; verbose=1; warning=1;};
322     void SetDebug() {debug=1; verbose=1; warning=1;};
323     };
324    
325 pam-fi 1.8
326     // ==================================================================
327     /**
328     * \brief Struct to pass mini2 track parameters to F77 routines
329     */
330     struct cMini2track {
331     double al[5];
332     double xm[NPLANE],ym[NPLANE],zm[NPLANE];
333 pam-fi 1.32 double xm_a[NPLANE],ym_a[NPLANE],zm_a[NPLANE];
334     double xm_b[NPLANE],ym_b[NPLANE],zm_b[NPLANE];
335 pam-fi 1.8 double resx[NPLANE],resy[NPLANE];
336 pam-fi 1.22 double tailx[NPLANE],taily[NPLANE];
337 pam-fi 1.8 double xgood[NPLANE],ygood[NPLANE];
338     double dedxtrk_x[NPLANE];
339     double dedxtrk_y[NPLANE];
340     double zini;
341     double pfixed;
342     double chi2;
343     double xv[NPLANE],yv[NPLANE],zv[NPLANE];
344     double axv[NPLANE],ayv[NPLANE];
345     double cov[5][5];
346 pam-fi 1.18 double fact;
347 pam-fi 1.8 int nstep;
348     int idcand;
349 pam-fi 1.17 int trackmode;
350 pam-fi 1.18 int istepmin;
351 pam-fi 1.20
352     /* cMini2track(){ */
353     /* // -------------------------- */
354     /* // fitting routine parameters */
355     /* // -------------------------- */
356     /* zini = 23.5; */
357     /* trackmode = 0; */
358     /* istepmin = 3; */
359     /* // -------------------------- */
360     /* pfixed = 0.; */
361     /* chi2 = 0; */
362     /* nstep = 0; */
363     /* for(int it1=0;it1<5;it1++){ */
364     /* al[it1] = 0; */
365     /* for(int it2=0;it2<5;it2++)cov[it1][it2] = 0; */
366     /* }; */
367     /* for(int ip=0;ip<6;ip++){ */
368     /* xgood[ip] = 0; */
369     /* ygood[ip] = 0; */
370     /* xm[ip] = 0; */
371     /* ym[ip] = 0; */
372     /* xm_a[ip] = 0; */
373     /* ym_a[ip] = 0; */
374     /* xm_b[ip] = 0; */
375     /* ym_b[ip] = 0; */
376     /* zm[ip] = 0; */
377     /* resx[ip] = 0; */
378     /* resy[ip] = 0; */
379     /* xv[ip] = 0; */
380     /* yv[ip] = 0; */
381     /* zv[ip] = 0; */
382     /* axv[ip] = 0; */
383     /* ayv[ip] = 0; */
384     /* dedxtrk_x[ip] = 0; */
385     /* dedxtrk_y[ip] = 0; */
386     /* }; */
387    
388     /* } */
389    
390    
391 pam-fi 1.8 };
392 pam-fi 1.29
393     // ==================================================================
394     /**
395     * \brief Struct to pass DELTAB parameters to F77 routines
396     */
397     struct cDeltaB {
398     double delta0;
399     double delta1;
400 pam-fi 1.30 double dlt;
401 pam-fi 1.29 };
402    
403 pam-fi 1.8 //
404 pam-fi 1.9 /**
405     * \Struct for the hough transform variables
406     */
407    
408     struct cTrkHough {
409    
410 pam-fi 1.12 int ndblt_nt;
411     float alfayz1_nt[NDBLT_MAX_NT];
412     float alfayz2_nt[NDBLT_MAX_NT];
413     int db_cloud_nt[NDBLT_MAX_NT];
414     int ntrpt_nt;
415     float alfaxz1_nt[NTRPT_MAX_NT];
416     float alfaxz2_nt[NTRPT_MAX_NT];
417     float alfaxz3_nt[NTRPT_MAX_NT];
418     int tr_cloud_nt[NTRPT_MAX_NT];
419     int nclouds_yz_nt;
420     float alfayz1_av_nt[NCLOYZ_MAX];
421     float alfayz2_av_nt[NCLOYZ_MAX];
422     int ptcloud_yz_nt[NCLOYZ_MAX];
423     int nclouds_xz_nt;
424     float alfaxz1_av_nt[NCLOXZ_MAX];
425     float alfaxz2_av_nt[NCLOXZ_MAX];
426     float alfaxz3_av_nt[NCLOXZ_MAX];
427     int ptcloud_xz_nt[NCLOXZ_MAX];
428 pam-fi 1.9 int nclstr;
429     float totaltime;
430     float houghtime;
431     float fittime;
432    
433    
434     void InitcTrkHough(){
435    
436 pam-fi 1.12 ndblt_nt = 0;
437     ntrpt_nt = 0;
438     nclouds_yz_nt = 0;
439     nclouds_xz_nt = 0;
440 pam-fi 1.9 nclstr = 0;
441     totaltime = 0;
442     houghtime = 0;
443     fittime = 0;
444     for(int i=0;i<NDBLT_MAX_NT ;i++){
445 pam-fi 1.12 alfayz1_nt[i] = 0;
446     alfayz2_nt[i] = 0;
447     db_cloud_nt[i] = 0;
448 pam-fi 1.9 }
449     for(int i=0;i<NTRPT_MAX_NT ;i++){
450 pam-fi 1.12 alfaxz1_nt[i] = 0;
451     alfaxz2_nt[i] = 0;
452     alfaxz3_nt[i] = 0;
453     tr_cloud_nt[i] = 0;
454 pam-fi 1.9 }
455     for(int i=0;i<NCLOYZ_MAX ;i++){
456 pam-fi 1.12 alfayz1_av_nt[i] = 0;
457     alfayz2_av_nt[i] = 0;
458     ptcloud_yz_nt[i] = 0;
459 pam-fi 1.9 }
460     for(int i=0;i<NCLOXZ_MAX ;i++){
461 pam-fi 1.12 ptcloud_xz_nt[i] = 0;
462     alfaxz1_av_nt[i] = 0;
463     alfaxz2_av_nt[i] = 0;
464     alfaxz3_av_nt[i] = 0;
465 pam-fi 1.9 }
466     }
467    
468     };
469 pam-fi 1.8
470 pam-fi 1.14 /**
471 pam-fi 1.28 * \Struct for track candidates after hough transform
472     */
473     struct cTrkCandidates {
474     int ntracks;
475     float al[NTRACKSMAX][5];
476     float xm[NTRACKSMAX][NPLANE];
477     float ym[NTRACKSMAX][NPLANE];
478     float zm[NTRACKSMAX][NPLANE];
479     float resx[NTRACKSMAX][NPLANE];
480     float resy[NTRACKSMAX][NPLANE];
481     float xv[NTRACKSMAX][NPLANE];
482     float yv[NTRACKSMAX][NPLANE];
483     float zv[NTRACKSMAX][NPLANE];
484     float axv[NTRACKSMAX][NPLANE];
485     float ayv[NTRACKSMAX][NPLANE];
486     float xgood[NTRACKSMAX][NPLANE];
487     float ygood[NTRACKSMAX][NPLANE];
488     int cp[NTRACKSMAX][NPLANE];
489     int cls[NTRACKSMAX][NPLANE];
490     int sensor[NTRACKSMAX][NPLANE];
491     int ladder[NTRACKSMAX][NPLANE];
492     float bx[NTRACKSMAX][NPLANE];
493     float by[NTRACKSMAX][NPLANE];
494     float chi2[NTRACKSMAX];
495    
496     void Init(){
497     ntracks=0;
498     for(int i=0; i<NTRACKSMAX; i++){
499     for(int ii=0; ii<5; ii++)al[i][ii]=0;
500     chi2[i]=0;
501     for(int ip=0; ip<NPLANE; ip++){
502     xm[i][ip]=0;
503     ym[i][ip]=0;
504     zm[i][ip]=0;
505     resx[i][ip]=0;
506     resy[i][ip]=0;
507     xv[i][ip]=0;
508     yv[i][ip]=0;
509     zv[i][ip]=0;
510     axv[i][ip]=0;
511     ayv[i][ip]=0;
512     xgood[i][ip]=0;
513     ygood[i][ip]=0;
514     cp[i][ip]=0;
515     cls[i][ip]=0;
516     sensor[i][ip]=0;
517     ladder[i][ip]=0;
518     bx[i][ip]=0;
519     by[i][ip]=0;
520     }
521     }
522    
523     };
524    
525    
526     };
527    
528     /**
529 pam-fi 1.14 * \brief Struct to pass VA1-mask to F77 routines
530     */
531     struct cTrkMask {
532    
533     int mask_vk[NVK][NVIEW];
534     int mask_vk_run[NVK][NVIEW];
535    
536 pam-fi 1.16 // void Set(TFile* , Int_t , Int_t );
537 pam-fi 1.14
538 pam-fi 1.23 void Reset(){
539     for(int ivk=0; ivk<NVK; ivk++){
540     for(int iv=0; iv<NVIEW; iv++){
541     // mask_vk[ivk][iv]=0;
542     mask_vk_run[ivk][iv]=0;
543     }
544     }
545     }
546    
547 pam-fi 1.24 void Dump(){
548     }
549    
550 pam-fi 1.14 };
551 pam-fi 1.8
552 pam-fi 1.15 /**
553     * \brief Struct for pfa parameters
554     */
555     struct cTrkETA {
556    
557     int nangbin;
558     float angL[NANGMAX],angR[NANGMAX];
559     int netaval;
560     float eta2[NANGMAX][NETAVALMAX];
561     float feta2[NANGMAX][NLADDER][NVIEW][NETAVALMAX];
562     float eta3[NANGMAX][NETAVALMAX];
563     float feta3[NANGMAX][NLADDER][NVIEW][NETAVALMAX];
564     float eta4[NANGMAX][NETAVALMAX];
565     float feta4[NANGMAX][NLADDER][NVIEW][NETAVALMAX];
566 pam-fi 1.25 float fcorr[NANGMAX][NLADDER][NVIEW];
567 pam-fi 1.26 float e234ax[6];//F77: e2fax,e2tax,e3fax,e3tax,e4fax,e4tax
568     float e234ay[6];//F77: e2fay,e2tay,e3fay,e3tay,e4fay,e4tay
569 pam-fi 1.15
570     };
571 pam-fi 1.20 /**
572     * \brief Struct to configure data reduction
573     */
574     struct cTrkSW{
575     int pfaid;
576     };
577 pam-fi 1.32 /**
578     * \brief Struct to read alignment parameters
579     */
580     struct cTrkAlign {
581    
582     double omega[NSENSOR][NLADDER][NPLANE];
583     double beta[NSENSOR][NLADDER][NPLANE];
584     double gamma[NSENSOR][NLADDER][NPLANE];
585     double dx[NSENSOR][NLADDER][NPLANE];
586     double dy[NSENSOR][NLADDER][NPLANE];
587     double dz[NSENSOR][NLADDER][NPLANE];
588    
589     };
590 pam-fi 1.15
591 pam-fi 1.33 /**
592     * \brief Struct to check reduction procedure: CN evaluation
593     */
594     struct cTrkCN {
595    
596     float cn[NVK][NVIEW];
597     float cnrms[NVK][NVIEW];
598     int cnn[NVK][NVIEW];
599     int clstr[NSTRIPVK][NVK][NVIEW];
600     int strange[NSTRIPVK][NVK][NVIEW];
601    
602     };
603     /**
604     * \brief Struct to check reduction procedure: pedestal subtraction
605     */
606     struct cTrkEvent {
607     float value[NSTRIP];
608     };
609    
610 pam-fi 1.36 /**
611     * \brief Struct to check reduction procedure: pedestal subtraction
612     */
613     struct cTrkMIP {
614     float mip[NLADDER][NVIEW];
615     };
616    
617 pam-fi 1.2 extern "C" {
618 pam-fi 1.8
619 pam-fi 1.36 extern struct cTrkMIP adc2mip_;
620 pam-fi 1.9 extern struct cTrkCalib pedsigbad_;
621 pam-fi 1.16 extern struct cTrkMask mask_;
622 pam-fi 1.9 extern struct cTrkLevel0 level0event_;
623     extern struct cTrkLevel1 level1event_;
624     extern struct cTrkLevel2 level2event_;
625     extern struct cPath path_;
626     extern struct cDbg dbg_;
627 pam-fi 1.12 extern struct cTrkHough houghevent_;
628 pam-fi 1.28 extern struct cTrkCandidates trackcandidates_;
629 pam-fi 1.8 extern struct cMini2track track_;
630 pam-fi 1.15 extern struct cTrkETA pfa_;
631 pam-fi 1.20 extern struct cTrkSW sw_;
632 pam-fi 1.29 extern struct cDeltaB deltab_;
633 pam-fi 1.32 extern struct cTrkAlign alignparameters_;
634 pam-fi 1.33 extern struct cTrkEvent calibratedsignal_;
635 pam-fi 1.7
636 pam-fi 1.2 void fillpedsigfromdefault_();
637     int readmipparam_();
638     int readchargeparam_();
639     int readvkmask_();
640     int readalignparam_();
641     int readetaparam_();
642     void reductionflight_(int*);
643 pam-fi 1.20 int analysisflight_();
644 pam-fi 1.16 int readb_();
645 pam-fi 1.20 void gufld_(float*, float*);
646     void xyzpam_(int*,int*,int*,int*,int*,float*,float*,float*,float*);
647 pam-fi 1.21 float riseta_(int*,float*);
648 pam-fi 1.29 void chisq_(int*, int*);
649 pam-fi 1.16
650 pam-fi 1.32 };
651 pam-fi 1.2
652 pam-fi 1.33
653 mocchiut 1.1 #endif

  ViewVC Help
Powered by ViewVC 1.1.23