source: trunk/MagicSoft/Simulation/Detector/ReflectorII/header.h

Last change on this file was 1614, checked in by bigongia, 22 years ago
*** empty log message ***
File size: 6.4 KB
Line 
1#ifndef __RFL_HEADER__
2#define __RFL_HEADER__
3
4/* RUNH for reflector file. Identical to Corsika's Run Header (see CORSIKA
5 * manual for explanations), plus some other info like the wobble mode
6 * which has been used. We have put this in the unused variables.
7 */
8typedef struct
9{ char RUNH[4];
10 float RunNumber;
11 float date;
12 float Corsika_version;
13 float NumObsLev;
14 float HeightLev[10];
15 float SlopeSpec; /* Slope of primaries' energy spectrum */
16 float ELowLim;
17 float EUppLim; /* Limits of energy range for generation */
18 float EGS4_flag;
19 float NKG_flag;
20 float Ecutoffh;
21 float Ecutoffm;
22 float Ecutoffe;
23 float Ecutoffg;
24 /* Physical constants and interaction flags (see CORSIKA manual): */
25 float C[50];
26 float wobble_mode; /* Indicates wobble mode with which
27 reflector has been run */
28 float atmospheric_model; /* Indicates atmospheric model used in
29 absorption simulation. 0 = no atmosphere,
30 1 = atm_90percent, 2 = atm_isothermal,
31 3 = atm_corsika.
32 */
33 float dummy1[18]; /* not used */
34 float CKA[40];
35 float CETA[5];
36 float CSTRBA[11];
37 float dummy2[104]; /* not used */
38 float AATM[5];
39 float BATM[5];
40 float CATM[5];
41 float NFL[4];
42} RflRunHeader;
43
44/* EVTH from cerfile. See CORSIKA manual for explanations */
45typedef struct
46{ char EVTH[4];
47 float EvtNumber;
48 float PrimaryID;
49 float Etotal;
50 float Thick0;
51 float FirstTarget;
52 float zFirstInt;
53 float p[3];
54 float Theta;
55 float Phi;
56
57 float NumRndSeq;
58 float RndData[10][3];
59
60 float RunNumber;
61 float DateRun;
62 float Corsika_version;
63
64 float NumObsLev;
65 float HeightLev[10];
66
67 float SlopeSpec;
68 float ELowLim;
69 float EUppLim;
70
71 float Ecutoffh;
72 float Ecutoffm;
73 float Ecutoffe;
74 float Ecutoffg;
75
76 float NFLAIN;
77 float NFLDIF;
78 float NFLPI0;
79 float NFLPIF;
80 float NFLCHE;
81 float NFRAGM;
82
83 float Bx;
84 float By;
85
86 float EGS4yn;
87 float NKGyn;
88 float GHEISHAyn;
89 float VENUSyn;
90 float CERENKOVyn;
91 float NEUTRINOyn;
92 float HORIZONTyn;
93 float COMPUTER;
94
95 float ThetaMin;
96 float ThetaMax;
97 float PhiMin;
98 float PhiMax;
99
100 float CBunchSize;
101 float CDetInX,CDetInY;
102 float CSpacInX,CSpacInY;
103 float CLenInX,CLenInY;
104 float COutput;
105
106 float AngleNorthX;
107 float MuonInfo;
108
109 float StepLength;
110 float CWaveLower;
111 float CWaveUpper;
112 float Multipl;
113 float CorePos[2][20];
114 float SIBYLL[2];
115 float QGSJET[2];
116 float DPMJET[2];
117 float VENUS_cross;
118 float mu_mult_scat;
119 float NKG_range;
120 float EFRCTHN[2];
121 float WMAX[2];
122 float rthin_rmax;
123
124 float viewcone_angles[2]; /* (degrees) Inner and outer angles in
125 * Corsika's VIEWCONE option
126 */
127 float dmmy2[119];
128} CerEventHeader;
129
130/* EVTH from rflfile. We include first all the information from the
131 Corsika event header (except empty bytes) */
132
133typedef struct
134{ char EVTH[4];
135 float EvtNumber;
136 float PrimaryID;
137 float Etotal;
138 float Thick0;
139 float FirstTarget;
140 float zFirstInt;
141 float p[3];
142 float Theta;
143 float Phi;
144
145 float NumRndSeq;
146 float RndData[10][3];
147
148 float RunNumber;
149 float DateRun;
150 float Corsika_version;
151
152 float NumObsLev;
153 float HeightLev[10];
154
155 float SlopeSpec;
156 float ELowLim;
157 float EUppLim;
158
159 float Ecutoffh;
160 float Ecutoffm;
161 float Ecutoffe;
162 float Ecutoffg;
163
164 float NFLAIN;
165 float NFLDIF;
166 float NFLPI0;
167 float NFLPIF;
168 float NFLCHE;
169 float NFRAGM;
170
171 float Bx;
172 float By;
173
174 float EGS4yn;
175 float NKGyn;
176 float GHEISHAyn;
177 float VENUSyn;
178 float CERENKOVyn;
179 float NEUTRINOyn;
180 float HORIZONTyn;
181 float COMPUTER;
182
183 float ThetaMin;
184 float ThetaMax;
185 float PhiMin;
186 float PhiMax;
187
188 float CBunchSize;
189 float CDetInX,CDetInY;
190 float CSpacInX,CSpacInY;
191 float CLenInX,CLenInY;
192 float COutput;
193
194 float AngleNorthX;
195 float MuonInfo;
196
197 float StepLength;
198 float CWaveLower;
199 float CWaveUpper;
200 float Multipl;
201 float CorePos[2][20];
202 float SIBYLL[2];
203 float QGSJET[2];
204 float DPMJET[2];
205 float VENUS_cross;
206 float mu_mult_scat;
207 float NKG_range;
208 float EFRCTHN[2];
209 float WMAX[2];
210 float rthin_rmax;
211
212 float viewcone_angles[2];
213 /* (degrees) Inner and outer angles in
214 * Corsika's VIEWCONE option. This is
215 * only possible with Corsika>6 versions. In
216 * that case, PhiMin=PhiMax and
217 * ThetaMin=ThetaMax (also in this header)
218 * indicate the axis of this cone.
219 */
220
221 /* ^^^ Up to here, the info from the CORSIKA event header. */
222
223 /* Telescope orientation: */
224 float telescopePhi; /* rad */
225 float telescopeTheta; /* rad */
226
227 /* Time of first and last photon: */
228 float TimeFirst;
229 float TimeLast;
230
231 /* 6 parameters and chi2 of the NKG fit to the longitudinal
232 * particle distribution (see CORSIKA manual for explanation):
233 */
234 float longi_Nmax;
235 float longi_t0;
236 float longi_tmax;
237 float longi_a;
238 float longi_b;
239 float longi_c;
240 float longi_chi2;
241
242 /* Now the photon statistics of the event: */
243 float CORSIKAPhs; /* Original photons written by Corsika */
244 float AtmAbsPhs; /* Photons absorbed by the atmosphere */
245 float MirrAbsPhs; /* Photons absorbed by the mirror */
246 float OutOfMirrPhs; /* Photons outside the mirror */
247 float BlackSpotPhs; /* Photons lost in the "black spot" */
248 float OutOfChamPhs; /* Photons outside the camera */
249 float CPhotons; /* Photons reaching the camera */
250
251 /* Now follow the fraction of photons reaching the camera produced by
252 * electrons, muons and other particles respectively:
253 */
254 float elec_cph_fraction;
255 float muon_cph_fraction;
256 float other_cph_fraction;
257
258 float dummy[7]; /* not used */
259
260} RflEventHeader;
261
262
263typedef struct /* EVTE from cerfile */
264{
265 float dummy1[255];
266 float longi_Nmax;
267 float longi_t0;
268 float longi_tmax;
269 float longi_a;
270 float longi_b;
271 float longi_c;
272 float longi_chi2;
273 float dummy2[11];
274} Event_end;
275
276void TranslateHeader(RflEventHeader *r, CerEventHeader *c);
277
278#endif
Note: See TracBrowser for help on using the repository browser.