/[PAMELA software]/eventviewer/ground/inc/eventviewer.h
ViewVC logotype

Contents of /eventviewer/ground/inc/eventviewer.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (show annotations) (download) (vendor branch)
Tue Dec 6 10:12:55 2005 UTC (19 years ago) by mocchiut
Branch: EventViewer
CVS Tags: start, v8r00
Changes since 1.1: +0 -0 lines
File MIME type: text/plain
Imported sources

1 typedef struct Levels {
2 Int_t calo;
3 Int_t calol2;
4 Int_t tof;
5 Int_t track;
6 Int_t track2;
7 Int_t s4;
8 Int_t ac;
9 Int_t nd;
10 } level;
11
12 typedef struct Variables {
13 Float_t sfx; // scale factor x
14 Float_t sfy; // scale factor y
15 Float_t xxvc; // x coordinate of the x-view
16 Float_t yxvc; // y coordinate of the x-view
17 Float_t xyvc; // x coordinate of the y-view
18 Float_t yyvc; // y coordinate of the y-view
19 Float_t xcat; // x coordinate of the cat view
20 Float_t ycat; // y coordinate of the cat view
21 Float_t nds4; // scaling factor for ND and S4
22 Float_t rig; // rigidity from the tracker (track number 1)
23 Float_t chi2; // chi2 of the fitted track (track number 1)
24 Float_t sbase[2][22][96]; // calorimeter old baselines
25 Float_t DSPsig_par[12][3072]; //tracker sigma calibration data
26 Float_t s4sig; // S4 calibrated signal
27 Float_t beta[5]; // TOF beta infos
28 Int_t bw; // black and white flag
29 Int_t nosig; // flag to show only detectors and no signals
30 Int_t etime; // time of the event (OBT)
31 Int_t headc; // event number
32 Int_t nstrip; // strip hit, info from CALO
33 Int_t qtot; // total energy (MIP), info from CALO
34 Int_t nclx; // number of cluster in the x view, info from TRK
35 Int_t ncly; // number of cluster in the y view, info from TRK
36 Int_t trup; // number of neutron upper half, info from ND
37 Int_t bkup; // number of background neutron upper half, info from ND
38 Int_t bkbo; // number of background neutron lower half, info from ND
39 Int_t hcas; // number of hit in cas, info from AC
40 Int_t hcat; // number of hit in cat, info from AC
41 Int_t hcard;// number of hit in card, info from AC
42 Int_t tracknds4; // flag to display the track in ND and S4
43 Int_t i; // event number
44 Int_t doflag; //going forward or backward?
45 Int_t jumpto; // event number to jump to
46 Int_t lastevno; // last event number
47 Int_t firstevno; // first event number
48 Long64_t nevents; // number of events in the ntuple
49 } var;
50
51 Int_t WhatToDoEV(Variables & var, const char *file, TString outDir, TString figty, TCanvas &figure) {
52 char *bw;
53 if ( var.bw ){
54 bw = "bw";
55 } else {
56 bw = "";
57 };
58 var.jumpto = 0;
59 stringstream input;
60 stringstream input2;
61 stringstream input3;
62 char tellme[256];
63 char tellme2[256];
64 char tellme3[256];
65 stringstream out;
66 out.str("x");
67 input2.str("zzzzzzzzzzzzzz");
68 input3.str("z");
69 input << out.str().c_str();
70 stringstream stc;
71 stringstream stc2;
72 while ( !strcmp(input.str().c_str(),out.str().c_str()) ) {
73 printf("\nPress <enter> to continue, b<enter> to go backward, j<enter> to jump,\np<enter> to save the figure, o<enter> for more options, q<enter> to quit: \n");
74 cin.getline(tellme,256);
75 //
76 input.str("");
77 input << tellme;
78 out << "y";
79 //
80 stc.str("o");
81 //
82 if ( !strcmp(input.str().c_str(),stc.str().c_str()) ) {
83 stringstream input4;
84 char tellme4[256];
85 stringstream out4;
86 out4.str("a");
87 input4 << out4.str().c_str();
88 while ( !strcmp(input4.str().c_str(),out4.str().c_str()) ) {
89 printf("\nPress <enter> to go back to previous menu, c<enter> to toggle B/W visualization,\nt<enter> to toggle track visualization in S4 and ND: \n");
90 cin.getline(tellme4,256);
91 input4.str("");
92 input4 << tellme4;
93 out4.str("1");
94 out.str("");
95 out << input.str().c_str();
96 //
97 stc2.str("c");
98 if ( !strcmp(input4.str().c_str(),stc2.str().c_str()) ) {
99 if ( !var.bw ){
100 printf("\n --> B/W visualization\n");
101 var.bw = 1;
102 } else {
103 printf("\n --> colour visualization\n");
104 var.bw = 0;
105 };
106 var.i--;
107 out.str("1");
108 };
109 //
110 stc2.str("t");
111 if ( !strcmp(input4.str().c_str(),stc2.str().c_str()) ) {
112 if ( !var.tracknds4 ){
113 printf("\n --> track visualization in S4 and ND\n");
114 var.tracknds4 = 1;
115 } else {
116 printf("\n --> no track visualization in S4 and ND\n");
117 var.tracknds4 = 0;
118 };
119 var.i--;
120 out.str("1");
121 };
122 };
123 };
124 //
125 stc.str("b");
126 //
127 if ( !strcmp(input.str().c_str(),stc.str().c_str()) ) {
128 if ( var.i > 0 ) {
129 printf("WARNING: going backward!\n\n");
130 var.doflag = 2;
131 } else {
132 printf("This is the first event, you can't go backward! \n");
133 out.str("");
134 out << input.str().c_str();
135 };
136 };
137 //
138 stc.str("j");
139 //
140 if ( !strcmp(input.str().c_str(),stc.str().c_str()) ) {
141 printf("\n Do you want to jump to a progressive number [p] or to an event number [e]? ");
142 cin.getline(tellme3,256);
143 input3.str("");
144 input3 << tellme3;
145 //
146 stc2.str("p");
147 if ( !strcmp(input3.str().c_str(),stc2.str().c_str()) ) {
148 printf("\n Enter the progressive number you want to jump to: ");
149 cin.getline(tellme2,256);
150 input2.str("");
151 input2 << tellme2;
152 Int_t j;
153 j = atoi(input2.str().c_str());
154 if ( j < 1 || j > var.nevents+1 ) {
155 printf("\n You can choose between 1 and %i \n",(int)var.nevents+1);
156 out.str("");
157 out << input.str().c_str();
158 } else {
159 printf("\n Jumping to progressive number %i\n\n",j);
160 var.i = j-2;
161 };
162 };
163 //
164 stc2.str("e");
165 if ( !strcmp(input3.str().c_str(),stc2.str().c_str()) ) {
166 printf("\n Enter the event number you want to jump to: ");
167 cin.getline(tellme2,256);
168 input2.str("");
169 input2 << tellme2;
170 Int_t j;
171 j = atoi(input2.str().c_str());
172 if ( j < var.firstevno || j > var.lastevno ) {
173 printf("\n You can choose between %i and %i \n",var.firstevno,var.lastevno);
174 out.str("");
175 out << input.str().c_str();
176 } else {
177 printf("\n Jumping to event number %i\n\n",j);
178 var.jumpto = j;
179 var.i = -1;
180 };
181 };
182 //
183 stc.str("p");
184 stc2.str("e");
185 if ( strcmp(input3.str().c_str(),stc2.str().c_str()) && strcmp(input3.str().c_str(),stc.str().c_str()) ) {
186 printf(" You must type or \"p\" or \"e\"\n");
187 out.str("");
188 out << input.str().c_str();
189 };
190 };
191 //
192 stc.str("q");
193 stc2.str(".q");
194 //
195 if ( !strcmp(input.str().c_str(),stc.str().c_str()) || !strcmp(input.str().c_str(),stc2.str().c_str()) ) {
196 printf("Exiting...\n");
197 return(1);
198 };
199 //
200 stc.str("p");
201 //
202 if ( !strcmp(input.str().c_str(),stc.str().c_str()) ) {
203 printf("Enter a file extension recognized by ROOT (ps, eps, gif,...):\n");
204 cin.getline(tellme2,256);
205 input2.str("");
206 input2 << tellme2;
207 out.str("");
208 out << input.str().c_str();
209 //
210 TString filename = file;
211 const string fil = (const char*)filename;
212 Int_t posiz = fil.find("dw_");
213 if ( posiz == -1 ) posiz = fil.find("DW_");
214 Int_t posiz2 = posiz+13;
215 TString file2;
216 stringcopy(file2,filename,posiz,posiz2);
217 const char *figrec = file2;
218 const char *outdir = outDir;
219 stringstream figsave;
220 const char *ty = figty;
221 figsave.str("");
222 figsave << outdir << "/";
223 figsave << ty << "_";
224 figsave << (var.i+1) << "_";
225 figsave << figrec;
226 figsave << bw << ".";
227 figsave << input2.str().c_str();
228 figure.SaveAs(figsave.str().c_str());
229 printf("\n");
230 };
231 };
232 return(0);
233 }

  ViewVC Help
Powered by ViewVC 1.1.23