/[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.2 - (hide annotations) (download)
Tue May 30 16:30:36 2006 UTC (18 years, 6 months ago) by pam-fi
Branch: MAIN
CVS Tags: v0r02, v1r01beta, v1r00
Changes since 1.1: +55 -14 lines
File MIME type: text/plain
Error handling from F77 routine / Fixed some bugs with default calibration

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     #define NTRKMAX 10
10     #define NSINGMAX 100
11    
12 pam-fi 1.2 #include <CalibTrk1Event.h>
13     #include <CalibTrk2Event.h>
14    
15 mocchiut 1.1 #include <TString.h>
16     #include <TFile.h>
17 pam-fi 1.2 #include <TTree.h>
18 mocchiut 1.1
19 pam-fi 1.2 #include <fstream>
20     #include <iostream>
21 mocchiut 1.1 /**
22 pam-fi 1.2 * \brief Struct to pass calibration parameters to F77 routines
23 mocchiut 1.1 */
24 pam-fi 1.2 struct cTrkCalib {
25    
26 mocchiut 1.1 float pedestal[128][24][12];
27     float pedestal_t[128][24][12];
28     float sigma[128][24][12];
29     float sigma_t[128][24][12];
30     int bad[128][24][12];
31 pam-fi 1.2
32     void FillACalibFrom(TFile* , Int_t , Int_t );
33     void FillFCalibFrom(TFile* , Int_t , Int_t );
34     void FillTCalibFrom(TFile* , Int_t , Int_t );
35     void FillTCalibFrom(TString);
36    
37 mocchiut 1.1 };
38     // ==================================================================
39     /**
40     * \brief Struct to pass tracker LEVEL0 data to F77 routines
41     */
42     struct cTrkLevel0 {
43     int DAQmode[12];
44     int DSPnumber[12];
45     int DATAlength[12];
46     int eventn[12];
47     int nclust[12];
48     int cutc[12];
49     int cutcl[12];
50     int addrcluster[3][12];
51     int signcluster[3][12];
52     int fc[12];
53     int compressiontime[12];
54     int fl5[12];
55     int fl4[12];
56     int fl3[12];
57     int fl2[12];
58     int fl1[12];
59     int fl6[12];
60     int checksum[12];
61     int TOTDATAlength;
62     int datatracker[49152];
63     int pnum[12];
64     int cmdnum[12];
65     int bid[12];
66     int alarm[12];
67     int aswr[12];
68     int good0;
69     int crc[12];
70     };
71     // ==================================================================
72     /**
73     * \brief Struct to pass tracker LEVEL1 data to F77 routines
74     */
75     struct cTrkLevel1 {
76     int good1;
77     int nclstr1;
78     int view[500];
79     int ladder[500];
80     int maxs[500];
81     int mult[500];
82     float dedx[500];
83     int indstart[500];
84     int indmax[500];
85     int totCLlength;
86     float clsignal[8500];
87     float cnev[24][12];
88     };
89     // ==================================================================
90     /**
91     * \brief Struct to pass tracker LEVEL2 data to F77 routines
92     */
93     struct cTrkLevel2 {
94     int good2;
95     int crc[12];
96     // ----------------------------
97     int nclsx;
98     int planex[NSINGMAX];
99     float xs[NSINGMAX][2];
100     float signlxs[NSINGMAX];
101     // ----------------------------
102     int nclsy;
103     int planey[NSINGMAX];
104     float ys[NSINGMAX][2];
105     float signlys[NSINGMAX];
106     // ----------------------------
107     int ntrk;
108     int image[NTRKMAX];
109     float xm_nt[NTRKMAX][6];
110     float ym_nt[NTRKMAX][6];
111     float zm_nt[NTRKMAX][6];
112     float resx_nt[NTRKMAX][6];
113     float resy_nt[NTRKMAX][6];
114     float al_nt[NTRKMAX][5];
115     float coval[NTRKMAX][5][5];
116     float chi2_nt[NTRKMAX];
117     int xgood_nt[NTRKMAX][6];
118     int ygood_nt[NTRKMAX][6];
119     float xv_nt[NTRKMAX][6];
120     float yv_nt[NTRKMAX][6];
121     float zv_nt[NTRKMAX][6];
122     float axv_nt[NTRKMAX][6];
123     float ayv_nt[NTRKMAX][6];
124     float dedx_x[NTRKMAX][6];
125     float dedx_y[NTRKMAX][6];
126     float bdl[NTRKMAX];
127     };
128     // ==================================================================
129     /**
130     * \brief Struct to pass calibration/parameter file paths to F77 routines
131     */
132     struct cPath {
133     char path[80];
134     int pathlen;
135 pam-fi 1.2 int error;
136 mocchiut 1.1 /**
137     * Fill the struct variables from a TString object
138     */
139     void FillWith(TString s){
140 pam-fi 1.2 pathlen = s.Length();
141     const char *pc = s.Data();
142     for(Int_t i=0; i<=pathlen; i++) path[i] = *pc++;
143 mocchiut 1.1 };
144 pam-fi 1.2
145    
146 mocchiut 1.1 };
147    
148     // ==================================================================
149     /**
150     * \brief Struct to pass magnetic-field file paths to F77 routines
151     */
152     struct cBPath {
153     char b_path[80];
154     int b_pathlen;
155     int b_error;
156     int b_loaded;
157     /**
158     * Fill the struct variables from a TString object and set
159     * the load flag to FALSE.
160     */
161     void FillWith(TString s){
162     b_loaded = 0;
163     b_pathlen = s.Length();
164     const char *pc = s.Data();
165     for(Int_t i=0; i<=b_pathlen; i++) b_path[i] = *pc++;
166     };
167     /**
168     * Fill the struct variables from a TString object
169     */
170     int BIsLoaded(){ return b_loaded; };
171    
172     };
173    
174 pam-fi 1.2 // ==================================================================
175     /**
176     * \brief Struct to set debug mode in F77 routines
177     */
178     struct cDbg {
179     int debug;
180     int verbose;
181     int warning;
182     // bool debug;
183     // bool verbose;
184     void SetNone() {debug=0; verbose=0; warning=0;};
185     void SetWarning(){debug=0; verbose=0; warning=1;};
186     void SetVerbose(){debug=0; verbose=1; warning=1;};
187     void SetDebug() {debug=1; verbose=1; warning=1;};
188     };
189    
190     extern "C" {
191     extern struct cTrkCalib pedsigbad_;
192     extern struct cTrkLevel0 level0event_;
193     extern struct cTrkLevel1 level1event_;
194     extern struct cTrkLevel2 level2event_;
195     extern struct cPath path_;
196     extern struct cBPath bpath_;
197     extern struct cDbg dbg_;
198     void fillpedsigfromdefault_();
199     int readmipparam_();
200     int readchargeparam_();
201     int readvkmask_();
202     int readalignparam_();
203     int readetaparam_();
204     void reductionflight_(int*);
205     int analysisflight_();
206     }
207    
208 mocchiut 1.1
209     #endif
210    

  ViewVC Help
Powered by ViewVC 1.1.23