90{
92 FILE *F,*HFile;
93 for(int i=0; i<3; i++) {
95 if(!F) sleep(50);
96 else break;
97 }
98 if(!F) return 0;
99 HFile=F;
102
104 fread(&Id.
Part[0], 1,
sizeof(Id.
Part[0]), F);
105 fread(&Id.
Part[1], 1,
sizeof(Id.
Part[1]), F);
106 fread(&Id.
Part[2], 1,
sizeof(Id.
Part[2]), F);
107 fread(&Id.
Part[3], 1,
sizeof(Id.
Part[3]), F);
108
113 int br=0;
114 char *
p = 0, *pData = 0;
116 char *pCorr = 0;
118 int TSpace = 0;
119 int GSpace = 0;
120 int LSpace = 0;
121 int i, j, k;
128
130 {
133 };
134
138 pViews[i].pTracks[0] = pViews[i].pTracks[1] = 0;
140 {
141 TRY_READ_B(HFile, br, &pViews[i].TileX,
sizeof(pViews[i].TileX));
142 TRY_READ_B(HFile, br, &pViews[i].TileY,
sizeof(pViews[i].TileY));
143 TRY_READ_B(HFile, br, &pViews[i].
X[0],
sizeof(pViews[i].
X[0]));
144 TRY_READ_B(HFile, br, &pViews[i].
X[1],
sizeof(pViews[i].
X[1]));
145 TRY_READ_B(HFile, br, &pViews[i].
Y[0],
sizeof(pViews[i].
Y[0]));
146 TRY_READ_B(HFile, br, &pViews[i].
Y[1],
sizeof(pViews[i].
Y[1]));
147 TRY_READ_B(HFile, br, &pViews[i].MapX[0],
sizeof(pViews[i].MapX[0]));
148 TRY_READ_B(HFile, br, &pViews[i].MapX[1],
sizeof(pViews[i].MapX[1]));
149 TRY_READ_B(HFile, br, &pViews[i].MapY[0],
sizeof(pViews[i].MapY[0]));
150 TRY_READ_B(HFile, br, &pViews[i].MapY[1],
sizeof(pViews[i].MapY[1]));
151 for (int i1=0; i1<2; i1++)
152 for (int i2=0; i2<2; i2++)
153 for (int i3=0; i3<2; i3++)
155 &pViews[i].ImageMat[i1][i2][i3], sizeof(pViews[i].ImageMat[i1][i2][i3]));
156
158 TRY_READ_B(HFile, br, &pViews[i].RelevantZs.TopExt,
sizeof(pViews[i].RelevantZs.TopExt));
159 TRY_READ_B(HFile, br, &pViews[i].RelevantZs.TopInt,
sizeof(pViews[i].RelevantZs.TopInt));
160 TRY_READ_B(HFile, br, &pViews[i].RelevantZs.BottomExt,
sizeof(pViews[i].RelevantZs.BottomExt));
161 TRY_READ_B(HFile, br, &pViews[i].RelevantZs.BottomInt,
sizeof(pViews[i].RelevantZs.BottomInt));
162 for (j = 0; j < 2; j++)
TRY_READ_B(HFile, br, &pViews[i].Status[j],
sizeof(pViews[i].Status[j]));
163 for (j = 0; j < 2; j++)
TRY_READ_B(HFile, br, &pViews[i].TCount[j],
sizeof(pViews[i].TCount[j]));
166 };
169 {
170 for (i = 0; i < LSpace; i++)
171 {
172 TRY_READ_B(HFile, br, &pLayers[i].Clusters,
sizeof(pLayers[i].
Z));
173 TRY_READ_B(HFile, br, &pLayers[i].
Z,
sizeof(pLayers[i].
Z));
174 }
175 }
176 else
177 for (i = 0; i < LSpace; i++)
178 {
180 TRY_READ_B(HFile, br, &pLayers[i].
Z,
sizeof(pLayers[i].
Z));
181 }
182 TSpace = 0;
184 {
186 for (j = 0; j < 2; j++)
187 {
189 for (k = 0; k < pViews[i].
TCount[j]; k++)
190 {
195 TRY_READ_B(HFile, br, &
t.Intercept.X,
sizeof(
t.Intercept.X));
196 TRY_READ_B(HFile, br, &
t.Intercept.Y,
sizeof(
t.Intercept.Y));
197 TRY_READ_B(HFile, br, &
t.Intercept.Z,
sizeof(
t.Intercept.Z));
205 TSpace++;
207 };
208 };
209 }
210 else
211 {
213 for (j = 0; j < 2; j++)
214 {
216 for (k = 0; k < pViews[i].
TCount[j]; k++)
217 {
223 TRY_READ_B(HFile, br, &
t.Intercept.X,
sizeof(
t.Intercept.X));
224 TRY_READ_B(HFile, br, &
t.Intercept.Y,
sizeof(
t.Intercept.Y));
225 TRY_READ_B(HFile, br, &
t.Intercept.Z,
sizeof(
t.Intercept.Z));
234 {
236 };
237 TSpace++;
239 };
240 };
241 }
242
245 0 : (
sizeof(
Grain) * GSpace))));
246
250 LSpace = 0;
252 for (j = 0; j < 2; j++)
253 {
255 LSpace += ((
IO_VS_Fragment2 *)pData)->Fragment.pViews[i].Layers[j].Count;
256 };
259 for (j = 0; j < 2; j++)
260 {
263 };
265 for (j = 0; j < 2; j++)
266 for (k = 0; k < pViews[i].
TCount[j]; k++)
267 ((
IO_VS_Fragment2 *)pData)->Fragment.pViews[i].pTracks[j][k].pCorrection = 0;
268
270 {
272 {
273
274 for (i=0; i<GSpace; i++) {
281 }
282 }
283 else
284 for (i = 0; i < GSpace; i++)
285 {
286 ((
Grain *)
p + i)->Area = 0;
290 };
291 GSpace = 0;
293 for (j = 0; j < 2; j++)
294 for (k = 0; k < pViews[i].
TCount[j]; k++)
295 {
298 };
299 }
300 else
301 {
303 for (j = 0; j < 2; j++)
304 for (k = 0; k < pViews[i].
TCount[j]; k++)
306 };
307 if (pViews)
308 {
310 for (j = 0; j < 2; j++)
311 if (pViews[i].pTracks[j]) free(pViews[i].pTracks[j]);
312 free(pViews);
313 };
314 if (pCorr) free(pCorr);
315 if (pLayers) free(pLayers);
317
319 return 1;
320}
void TRY_READ_B(FILE *HFile, int br, void *dst, int size)
Definition: dataIO.cpp:78
int Layers
Definition: hwinit.C:65
TTree * t
Definition: check_shower.C:4
Double_t Z
Definition: tlg2couples.C:104
UInt_t Count
Definition: tlg2couples.C:101
float Y
Definition: Track2.h:13
unsigned short Area
Definition: Track2.h:11
float Z
Definition: Track2.h:14
float X
Definition: Track2.h:12
Definition: vscan_ds.h:106
Identifier ID
Definition: vscan_ds.h:113
unsigned char Reserved[256]
Definition: vscan_ds.h:116
struct IO_VS_Fragment2::@30 Hdr
IO_Header Type
Definition: vscan_ds.h:112
VS_Fragment2 Fragment
Definition: vscan_ds.h:115
Definition: AcqPlateChanger.h:31
unsigned Grains
Definition: Track2.h:20
int FitCorrectionDataSize
Definition: vscan_ds.h:54
int StartView
Definition: vscan_ds.h:52
int Index
Definition: vscan_ds.h:51
int CountOfViews
Definition: vscan_ds.h:53
int CodingMode
Definition: vscan_ds.h:55
Definition: VSRawData.h:48
int Clusters
Definition: VSRawData.h:49
int Count
Definition: VSRawData.h:54
Definition: VSRawData.h:35
Track2 * pTracks[2]
Definition: VSRawData.h:59
int TCount[2]
Definition: VSRawData.h:58
struct VS_View2::t_Layers2 Layers[2]
#define VS_COMPRESSION_NULL
Definition: vscan_ds.h:28
const int VS_COMPRESSION_GRAIN_SUPPRESSION
Definition: vscan_ds.linux.h:35
const int VS_HEADER_TYPE
Definition: vscan_ds.linux.h:28