/[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.4 by pam-fi, Fri Aug 4 08:18:06 2006 UTC revision 1.8 by pam-fi, Thu Oct 26 16:22:36 2006 UTC
# Line 9  Line 9 
9  #define NTRKMAX 10  #define NTRKMAX 10
10  #define NSINGMAX 100  #define NSINGMAX 100
11    
12    #define NCLMAX_VIEW 50
13    #define NCLSTR 20
14    #define NCLMAX (NCLMAX_VIEW*12)
15    #define NCLBUFF (NCLMAX*NCLSTR)
16    
17    #define NPLANE 6
18    
19  #include <CalibTrk1Event.h>  #include <CalibTrk1Event.h>
20  #include <CalibTrk2Event.h>  #include <CalibTrk2Event.h>
21    
# Line 73  struct cTrkLevel0 { Line 80  struct cTrkLevel0 {
80   * \brief Struct to pass tracker LEVEL1 data to F77 routines   * \brief Struct to pass tracker LEVEL1 data to F77 routines
81   */   */
82  struct cTrkLevel1 {  struct cTrkLevel1 {
83      int good1;  //    int good1;
84        int good[12];
85      int nclstr1;      int nclstr1;
86      int view[500];      int view[NCLMAX];
87      int ladder[500];      int ladder[NCLMAX];
88      int maxs[500];      int maxs[NCLMAX];
89      int mult[500];      int mult[NCLMAX];
90      float dedx[500];      float dedx[NCLMAX];
91      int indstart[500];      int indstart[NCLMAX];
92      int indmax[500];      int indmax[NCLMAX];
93      int totCLlength;      int totCLlength;
94      float clsignal[8500];      float clsignal[NCLBUFF];
95        float clsigma[NCLBUFF];
96        int cladc[NCLBUFF];
97        int clbad[NCLBUFF];
98      float cnev[24][12];      float cnev[24][12];
99          float cnevflag[24][12];      int cnnev[24][12];
100        float cnrmsev[24][12];
101        int fshower[12];
102        int whichtrack[NCLMAX];
103  };  };
104  // ==================================================================  // ==================================================================
105  /**  /**
106   * \brief Struct to pass tracker LEVEL2 data to F77 routines   * \brief Struct to pass tracker LEVEL2 data to F77 routines
107   */   */
108  struct cTrkLevel2 {  struct cTrkLevel2 {
109      int good2;  //    int good2;
110      int crc[12];  //    int crc[12];
111            int good[12];
112  //  ----------------------------  //  ----------------------------
113      int nclsx;      int nclsx;
114      int planex[NSINGMAX];      int planex[NSINGMAX];
115      float xs[NSINGMAX][2];      float xs[NSINGMAX][2];
116      float signlxs[NSINGMAX];      float signlxs[NSINGMAX];
117        int clsx[NSINGMAX];
118  //  ----------------------------  //  ----------------------------
119      int nclsy;      int nclsy;
120      int planey[NSINGMAX];      int planey[NSINGMAX];
121      float ys[NSINGMAX][2];      float ys[NSINGMAX][2];
122      float signlys[NSINGMAX];      float signlys[NSINGMAX];
123        int clsy[NSINGMAX];
124  //  ----------------------------  //  ----------------------------
125      int ntrk;      int ntrk;
126      int image[NTRKMAX];      int image[NTRKMAX];
# Line 115  struct cTrkLevel2 { Line 132  struct cTrkLevel2 {
132      float al_nt[NTRKMAX][5];      float al_nt[NTRKMAX][5];
133      float coval[NTRKMAX][5][5];      float coval[NTRKMAX][5][5];
134      float chi2_nt[NTRKMAX];      float chi2_nt[NTRKMAX];
135        int nstep_nt[NTRKMAX];
136      int xgood_nt[NTRKMAX][6];      int xgood_nt[NTRKMAX][6];
137      int ygood_nt[NTRKMAX][6];      int ygood_nt[NTRKMAX][6];
138      float xv_nt[NTRKMAX][6];      float xv_nt[NTRKMAX][6];
# Line 124  struct cTrkLevel2 { Line 142  struct cTrkLevel2 {
142      float ayv_nt[NTRKMAX][6];      float ayv_nt[NTRKMAX][6];
143      float dedx_x[NTRKMAX][6];      float dedx_x[NTRKMAX][6];
144      float dedx_y[NTRKMAX][6];      float dedx_y[NTRKMAX][6];
145      float bdl[NTRKMAX];      int cltrx[NTRKMAX][6];
146        int cltry[NTRKMAX][6];
147    //      float bdl[NTRKMAX];
148    
149    void InitcTrkLevel2(){    void InitcTrkLevel2(){
150            
151      good2 = 0;  //    good2 = 0;
152      for(Int_t i=0; i<12 ; i++)      for(Int_t i=0; i<12 ; i++)
153        crc[i] = 0;  //    crc[i] = 0;      
154            good[i] = 0;
155      //  ----------------------------      //  ----------------------------
156      nclsx = 0;      nclsx = 0;
157      nclsy = 0;      nclsy = 0;
# Line 150  struct cTrkLevel2 { Line 171  struct cTrkLevel2 {
171      for(Int_t i=0; i<NTRKMAX ; i++){      for(Int_t i=0; i<NTRKMAX ; i++){
172        image[i]   = 0;        image[i]   = 0;
173        chi2_nt[i] = 0;        chi2_nt[i] = 0;
174        bdl[i]     = 0;  //      bdl[i]     = 0;
175                
176        for(Int_t ii=0; ii<5 ; ii++){        for(Int_t ii=0; ii<5 ; ii++){
177          al_nt[i][ii] = 0;          al_nt[i][ii] = 0;
# Line 183  struct cTrkLevel2 { Line 204  struct cTrkLevel2 {
204   * \brief Struct to pass calibration/parameter file paths to F77 routines   * \brief Struct to pass calibration/parameter file paths to F77 routines
205   */   */
206  struct cPath {  struct cPath {
207      char path[80];      char path[256];
208      int  pathlen;      int  pathlen;
209      int  error;      int  error;
210  /**  /**
# Line 203  struct cPath { Line 224  struct cPath {
224   * \brief Struct to pass magnetic-field file paths to F77 routines   * \brief Struct to pass magnetic-field file paths to F77 routines
225   */   */
226  struct cBPath {  struct cBPath {
227      char b_path[80];      char b_path[256];
228      int  b_pathlen;      int  b_pathlen;
229      int  b_error;      int  b_error;
230      int  b_loaded;      int  b_loaded;
# Line 240  struct cDbg { Line 261  struct cDbg {
261      void SetDebug()  {debug=1; verbose=1; warning=1;};      void SetDebug()  {debug=1; verbose=1; warning=1;};
262  };  };
263    
264    
265    // ==================================================================
266    /**
267     * \brief Struct to pass mini2 track parameters to F77 routines
268     */
269    struct cMini2track {
270        double al[5];
271        double xm[NPLANE],ym[NPLANE],zm[NPLANE];
272        double xm_a[NPLANE],ym_a[NPLANE];
273        double xm_b[NPLANE],ym_b[NPLANE];
274        double resx[NPLANE],resy[NPLANE];
275        double xgood[NPLANE],ygood[NPLANE];
276        double dedxtrk_x[NPLANE];
277        double dedxtrk_y[NPLANE];
278        double zini;
279        double pfixed;
280        double chi2;
281        double xv[NPLANE],yv[NPLANE],zv[NPLANE];
282        double axv[NPLANE],ayv[NPLANE];
283        double cov[5][5];
284        int nstep;
285        int idcand;
286    };
287    //
288    
289    
290  extern "C" {  extern "C" {
291    
292      extern struct cTrkCalib  pedsigbad_;      extern struct cTrkCalib  pedsigbad_;
293      extern struct cTrkLevel0 level0event_;      extern struct cTrkLevel0 level0event_;
294      extern struct cTrkLevel1 level1event_;      extern struct cTrkLevel1 level1event_;
# Line 248  extern "C" { Line 296  extern "C" {
296      extern struct cPath      path_;      extern struct cPath      path_;
297      extern struct cBPath     bpath_;      extern struct cBPath     bpath_;
298      extern struct cDbg       dbg_;      extern struct cDbg       dbg_;
299        extern struct cMini2track track_;
300    
301      void fillpedsigfromdefault_();      void fillpedsigfromdefault_();
302      int readmipparam_();      int readmipparam_();
303      int readchargeparam_();      int readchargeparam_();

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.23