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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by pam-fi, Wed Oct 11 06:53:01 2006 UTC revision 1.10 by pam-fi, Tue Nov 7 15:55:10 2006 UTC
# Line 6  Line 6 
6  #ifndef trkstruct_h  #ifndef trkstruct_h
7  #define trkstruct_h  #define trkstruct_h
8    
9  #define NTRKMAX 10  #define NPLANE 6
 #define NSINGMAX 100  
10    
11  #define NCLMAX_VIEW 200  #define NCLMAX_VIEW 200         //max n.clusters per view
12  #define NCLSTR 19  #define NCLSTR 20               //max n.strip per cluster
13  #define NCLMAX (NCLMAX_VIEW*12)  #define NCLMAX (NCLMAX_VIEW*12) //max n.clusters total
14  #define NCLBUFF (NCLMAX*NCLSTR)  #define NCLBUFF (NCLMAX*NCLSTR)
15    
16    #define NDBLT_MAX_NT 1000   // 0.2*ndblt_max
17    #define NTRPT_MAX_NT 10000   // 0.2*ntrpt_max
18    #define NCLOYZ_MAX 200
19    #define NCLOXZ_MAX 200    
20    
21    #define NTRKMAX 10
22    #define NSINGMAX NCLMAX //100
23    
24    
25    
26  #include <CalibTrk1Event.h>  #include <CalibTrk1Event.h>
27  #include <CalibTrk2Event.h>  #include <CalibTrk2Event.h>
28    
# Line 79  struct cTrkLevel0 { Line 88  struct cTrkLevel0 {
88   */   */
89  struct cTrkLevel1 {  struct cTrkLevel1 {
90  //    int good1;  //    int good1;
91          int good[12];      int good[12];
92      int nclstr1;      int nclstr1;
93          int view[NCLMAX];      int view[NCLMAX];
94          int ladder[NCLMAX];      int ladder[NCLMAX];
95          int maxs[NCLMAX];      int maxs[NCLMAX];
96          int mult[NCLMAX];      int mult[NCLMAX];
97          float dedx[NCLMAX];      float dedx[NCLMAX];
98          int indstart[NCLMAX];      int indstart[NCLMAX];
99          int indmax[NCLMAX];      int indmax[NCLMAX];
100      int totCLlength;      int totCLlength;
101          float clsignal[NCLBUFF];      float clsignal[NCLBUFF];
102          float clsigma[NCLBUFF];      float clsigma[NCLBUFF];
103          int cladc[NCLBUFF];      int cladc[NCLBUFF];
104          int clbad[NCLBUFF];      int clbad[NCLBUFF];
105          float cnev[24][12];      float cnev[24][12];
106          int cnnev[24][12];      int cnnev[24][12];
107          int fshower[12];      float cnrmsev[24][12];
108          int whichtrack[NCLMAX];      int fshower[12];
109        int whichtrack[NCLMAX];
110  };  };
111  // ==================================================================  // ==================================================================
112  /**  /**
# Line 111  struct cTrkLevel2 { Line 121  struct cTrkLevel2 {
121      int planex[NSINGMAX];      int planex[NSINGMAX];
122      float xs[NSINGMAX][2];      float xs[NSINGMAX][2];
123      float signlxs[NSINGMAX];      float signlxs[NSINGMAX];
124          int clsx[NSINGMAX];      int clsx[NSINGMAX];
125  //  ----------------------------  //  ----------------------------
126      int nclsy;      int nclsy;
127      int planey[NSINGMAX];      int planey[NSINGMAX];
128      float ys[NSINGMAX][2];      float ys[NSINGMAX][2];
129      float signlys[NSINGMAX];      float signlys[NSINGMAX];
130          int clsy[NSINGMAX];      int clsy[NSINGMAX];
131  //  ----------------------------  //  ----------------------------
132      int ntrk;      int ntrk;
133      int image[NTRKMAX];      int image[NTRKMAX];
# Line 129  struct cTrkLevel2 { Line 139  struct cTrkLevel2 {
139      float al_nt[NTRKMAX][5];      float al_nt[NTRKMAX][5];
140      float coval[NTRKMAX][5][5];      float coval[NTRKMAX][5][5];
141      float chi2_nt[NTRKMAX];      float chi2_nt[NTRKMAX];
142          int nstep_nt[NTRKMAX];      int nstep_nt[NTRKMAX];
143          int xgood_nt[NTRKMAX][6];      int xgood_nt[NTRKMAX][6];
144      int ygood_nt[NTRKMAX][6];      int ygood_nt[NTRKMAX][6];
145      float xv_nt[NTRKMAX][6];      float xv_nt[NTRKMAX][6];
146      float yv_nt[NTRKMAX][6];      float yv_nt[NTRKMAX][6];
# Line 139  struct cTrkLevel2 { Line 149  struct cTrkLevel2 {
149      float ayv_nt[NTRKMAX][6];      float ayv_nt[NTRKMAX][6];
150      float dedx_x[NTRKMAX][6];      float dedx_x[NTRKMAX][6];
151      float dedx_y[NTRKMAX][6];      float dedx_y[NTRKMAX][6];
152          int cltrx[NTRKMAX][6];      int cltrx[NTRKMAX][6];
153          int cltry[NTRKMAX][6];      int cltry[NTRKMAX][6];
154  //      float bdl[NTRKMAX];  //      float bdl[NTRKMAX];
155    
156    void InitcTrkLevel2(){    void InitcTrkLevel2(){
# Line 201  struct cTrkLevel2 { Line 211  struct cTrkLevel2 {
211   * \brief Struct to pass calibration/parameter file paths to F77 routines   * \brief Struct to pass calibration/parameter file paths to F77 routines
212   */   */
213  struct cPath {  struct cPath {
214      char path[80];      char path[256];
215      int  pathlen;      int  pathlen;
216      int  error;      int  error;
217  /**  /**
# Line 213  struct cPath { Line 223  struct cPath {
223          for(Int_t i=0; i<=pathlen; i++) path[i] = *pc++;          for(Int_t i=0; i<=pathlen; i++) path[i] = *pc++;
224      };      };
225    
   
226  };  };
227    
228  // ==================================================================  // ==================================================================
# Line 221  struct cPath { Line 230  struct cPath {
230   * \brief Struct to pass magnetic-field file paths to F77 routines   * \brief Struct to pass magnetic-field file paths to F77 routines
231   */   */
232  struct cBPath {  struct cBPath {
233      char b_path[80];      char b_path[256];
234      int  b_pathlen;      int  b_pathlen;
235      int  b_error;      int  b_error;
236      int  b_loaded;      int  b_loaded;
# Line 258  struct cDbg { Line 267  struct cDbg {
267      void SetDebug()  {debug=1; verbose=1; warning=1;};      void SetDebug()  {debug=1; verbose=1; warning=1;};
268  };  };
269    
270    
271    // ==================================================================
272    /**
273     * \brief Struct to pass mini2 track parameters to F77 routines
274     */
275    struct cMini2track {
276        double al[5];
277        double xm[NPLANE],ym[NPLANE],zm[NPLANE];
278        double xm_a[NPLANE],ym_a[NPLANE];
279        double xm_b[NPLANE],ym_b[NPLANE];
280        double resx[NPLANE],resy[NPLANE];
281        double xgood[NPLANE],ygood[NPLANE];
282        double dedxtrk_x[NPLANE];
283        double dedxtrk_y[NPLANE];
284        double zini;
285        double pfixed;
286        double chi2;
287        double xv[NPLANE],yv[NPLANE],zv[NPLANE];
288        double axv[NPLANE],ayv[NPLANE];
289        double cov[5][5];
290        int nstep;
291        int idcand;
292    };
293    //
294    /**
295     * \Struct for the hough transform variables
296     */
297    
298    struct cTrkHough {
299    
300      int ndblt;
301      float alfayz1[NDBLT_MAX_NT];
302      float alfayz2[NDBLT_MAX_NT];
303      int db_cloud[NDBLT_MAX_NT];
304      int ntrpt;
305      float alfaxz1[NTRPT_MAX_NT];
306      float alfaxz2[NTRPT_MAX_NT];
307      float alfaxz3[NTRPT_MAX_NT];
308      int tr_cloud[NTRPT_MAX_NT];
309      int nclouds_yz;
310      float alfayz1_av[NCLOYZ_MAX];
311      float alfayz2_av[NCLOYZ_MAX];
312      int ptcloud_yz[NCLOYZ_MAX];
313      int nclouds_xz;
314      float alfaxz1_av[NCLOXZ_MAX];
315      float alfaxz2_av[NCLOXZ_MAX];
316      float alfaxz3_av[NCLOXZ_MAX];
317      int ptcloud_xz[NCLOXZ_MAX];
318      int nclstr;
319      float totaltime;
320      float houghtime;
321      float fittime;
322    
323    
324      void InitcTrkHough(){
325    
326        ndblt = 0;
327        ntrpt = 0;
328        nclouds_yz = 0;
329        nclouds_xz = 0;
330        nclstr = 0;
331        totaltime = 0;
332        houghtime = 0;
333        fittime = 0;
334        for(int i=0;i<NDBLT_MAX_NT ;i++){
335          alfayz1[i] = 0;
336          alfayz2[i] = 0;
337          db_cloud[i] = 0;
338        }
339        for(int i=0;i<NTRPT_MAX_NT ;i++){
340          alfaxz1[i] = 0;
341          alfaxz2[i] = 0;
342          alfaxz3[i] = 0;
343          tr_cloud[i] = 0;
344        }
345        for(int i=0;i<NCLOYZ_MAX ;i++){
346          alfayz1_av[i] = 0;
347          alfayz2_av[i] = 0;
348          ptcloud_yz[i] = 0;
349        }
350        for(int i=0;i<NCLOXZ_MAX ;i++){
351          ptcloud_xz[i] = 0;
352          alfaxz1_av[i] = 0;
353          alfaxz2_av[i] = 0;
354          alfaxz3_av[i] = 0;
355        }
356      }
357      
358    };
359    
360    
361  extern "C" {  extern "C" {
362      extern struct cTrkCalib  pedsigbad_;  
363      extern struct cTrkLevel0 level0event_;      extern struct cTrkCalib   pedsigbad_;
364      extern struct cTrkLevel1 level1event_;      extern struct cTrkLevel0  level0event_;
365      extern struct cTrkLevel2 level2event_;      extern struct cTrkLevel1  level1event_;
366      extern struct cPath      path_;      extern struct cTrkLevel2  level2event_;
367      extern struct cBPath     bpath_;      extern struct cPath       path_;
368      extern struct cDbg       dbg_;      extern struct cBPath      bpath_;
369        extern struct cDbg        dbg_;
370        extern struct cMini2track track_;
371        extern struct cTrkHough   hough_;
372    
373      void fillpedsigfromdefault_();      void fillpedsigfromdefault_();
374      int readmipparam_();      int readmipparam_();

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.23