98 |
|
while(CurrentChunk->read<CurrentChunk->size){ |
99 |
|
MyRecoHit* temp_RecoHit = new MyRecoHit; |
100 |
|
CurrentChunk->read += fread(temp_RecoHit,sizeof(MyRecoHit),1,pFile) * sizeof(MyRecoHit); |
101 |
< |
MyRecoTrackCollection[MyRecoTrackCollection.size()-1]->Hits.push_back(temp_RecoHit); |
101 |
> |
MyRecoTrackCollection[MyRecoTrackCollection.size()-1]->Hits.push_back(temp_RecoHit); |
102 |
|
} |
103 |
|
}break; |
104 |
|
|
105 |
< |
case C_RECO_ECALHIT:{ // RecHits |
105 |
> |
case C_RECO_TRACKINFO:{ // TrackInfo |
106 |
> |
MyRecoTrackInfo* temp_Info = new MyRecoTrackInfo; |
107 |
> |
CurrentChunk->read += fread(temp_Info,sizeof(MyRecoTrackInfo),1,pFile) * sizeof(MyRecoTrackInfo); |
108 |
> |
MyRecoTrackCollection[MyRecoTrackCollection.size()-1]->Info = temp_Info; |
109 |
> |
}break; |
110 |
> |
|
111 |
> |
case C_RECO_ECALHIT:{ // ECAL Hits |
112 |
|
while(CurrentChunk->read<CurrentChunk->size){ |
113 |
|
MyCaloHit* temp_EcalHit = new MyCaloHit; |
114 |
|
CurrentChunk->read += fread(temp_EcalHit,sizeof(MyCaloHit),1,pFile) * sizeof(MyCaloHit); |
116 |
|
} |
117 |
|
}break; |
118 |
|
|
119 |
< |
case C_RECO_HCALHIT:{ // RecHits |
119 |
> |
case C_RECO_HCALHIT:{ // HCAL Hits |
120 |
|
while(CurrentChunk->read<CurrentChunk->size){ |
121 |
|
MyCaloHit* temp_HcalHit = new MyCaloHit; |
122 |
|
CurrentChunk->read += fread(temp_HcalHit,sizeof(MyCaloHit),1,pFile) * sizeof(MyCaloHit); |
193 |
|
CurrentChunk->data = data_buffer; |
194 |
|
for(i=0;i<MyPSimHitCollection.size();i++){ |
195 |
|
memcpy( data_buffer, MyPSimHitCollection[i], sizeof(MyPSimHit) ); |
196 |
< |
data_buffer = (void*)((unsigned int)data_buffer + sizeof(MyPSimHit)); |
196 |
> |
data_buffer = (void*)((unsigned long)data_buffer + sizeof(MyPSimHit)); |
197 |
|
} |
198 |
|
ParentChunk->daughters.push_back(CurrentChunk); |
199 |
|
} |
206 |
|
CurrentChunk->data = data_buffer; |
207 |
|
for(i=0;i<MyPCaloHitCollection.size();i++){ |
208 |
|
memcpy( data_buffer, MyPCaloHitCollection[i], sizeof(MyPCaloHit) ); |
209 |
< |
data_buffer = (void*)((unsigned int)data_buffer + sizeof(MyPCaloHit)); |
209 |
> |
data_buffer = (void*)((unsigned long)data_buffer + sizeof(MyPCaloHit)); |
210 |
|
} |
211 |
|
ParentChunk->daughters.push_back(CurrentChunk); |
212 |
|
} |
219 |
|
CurrentChunk->data = data_buffer; |
220 |
|
for(i=0;i<MySimVertexCollection.size();i++){ |
221 |
|
memcpy( data_buffer, MySimVertexCollection[i], sizeof(MySimVertex) ); |
222 |
< |
data_buffer = (void*)((unsigned int)data_buffer + sizeof(MySimVertex)); |
222 |
> |
data_buffer = (void*)((unsigned long)data_buffer + sizeof(MySimVertex)); |
223 |
|
} |
224 |
|
ParentChunk->daughters.push_back(CurrentChunk); |
225 |
|
} |
232 |
|
CurrentChunk->data = data_buffer; |
233 |
|
for(i=0;i<MySimTrackCollection.size();i++){ |
234 |
|
memcpy( data_buffer, MySimTrackCollection[i], sizeof(MySimTrack) ); |
235 |
< |
data_buffer = (void*)((unsigned int)data_buffer + sizeof(MySimTrack)); |
235 |
> |
data_buffer = (void*)((unsigned long)data_buffer + sizeof(MySimTrack)); |
236 |
|
} |
237 |
|
ParentChunk->daughters.push_back(CurrentChunk); |
238 |
|
} |
256 |
|
CurrentChunk->data = data_buffer; |
257 |
|
for(i=0;i<MyEcalCaloHitCollection.size();i++){ |
258 |
|
memcpy( data_buffer, MyEcalCaloHitCollection[i], sizeof(MyCaloHit) ); |
259 |
< |
data_buffer = (void*)((unsigned int)data_buffer + sizeof(MyCaloHit)); |
259 |
> |
data_buffer = (void*)((unsigned long)data_buffer + sizeof(MyCaloHit)); |
260 |
|
} |
261 |
|
ParentChunk->daughters.push_back(CurrentChunk); |
262 |
|
} |
269 |
|
CurrentChunk->data = data_buffer; |
270 |
|
for(i=0;i<MyHcalCaloHitCollection.size();i++){ |
271 |
|
memcpy( data_buffer, MyHcalCaloHitCollection[i], sizeof(MyCaloHit) ); |
272 |
< |
data_buffer = (void*)((unsigned int)data_buffer + sizeof(MyCaloHit)); |
272 |
> |
data_buffer = (void*)((unsigned long)data_buffer + sizeof(MyCaloHit)); |
273 |
|
} |
274 |
|
ParentChunk->daughters.push_back(CurrentChunk); |
275 |
|
} |
282 |
|
CurrentChunk->data = data_buffer; |
283 |
|
for(i=0;i<MyMuonSegmentCollection.size();i++){ |
284 |
|
memcpy( data_buffer, MyMuonSegmentCollection[i], sizeof(MyMuonSegment) ); |
285 |
< |
data_buffer = (void*)((unsigned int)data_buffer + sizeof(MyMuonSegment)); |
285 |
> |
data_buffer = (void*)((unsigned long)data_buffer + sizeof(MyMuonSegment)); |
286 |
|
} |
287 |
|
ParentChunk->daughters.push_back(CurrentChunk); |
288 |
|
} |
295 |
|
CurrentChunk->data = data_buffer; |
296 |
|
for(i=0;i<MyMuonHitCollection.size();i++){ |
297 |
|
memcpy( data_buffer, MyMuonHitCollection[i], sizeof(MyMuonHit) ); |
298 |
< |
data_buffer = (void*)((unsigned int)data_buffer + sizeof(MyMuonHit)); |
298 |
> |
data_buffer = (void*)((unsigned long)data_buffer + sizeof(MyMuonHit)); |
299 |
|
} |
300 |
|
ParentChunk->daughters.push_back(CurrentChunk); |
301 |
|
} |
311 |
|
CurrentChunk->data = data_buffer; |
312 |
|
for(i=0;i<((MyRecoTrack*)ParentChunk->buffer)->Hits.size();i++){ |
313 |
|
memcpy( data_buffer, ((MyRecoTrack*)ParentChunk->buffer)->Hits[i], sizeof(MyRecoHit) ); |
314 |
< |
data_buffer = (void*)((unsigned int)data_buffer + sizeof(MyRecoHit)); |
314 |
> |
data_buffer = (void*)((unsigned long)data_buffer + sizeof(MyRecoHit)); |
315 |
|
} |
316 |
|
ParentChunk->daughters.push_back(CurrentChunk); |
317 |
+ |
|
318 |
+ |
if(((MyRecoTrack*)ParentChunk->buffer)->Info!=NULL){ |
319 |
+ |
CurrentChunk = new stChunkToSave; |
320 |
+ |
CurrentChunk->type = C_RECO_TRACKINFO; |
321 |
+ |
CurrentChunk->size = 6 + sizeof(MyRecoTrackInfo); |
322 |
+ |
data_buffer = new void*[CurrentChunk->size-6]; |
323 |
+ |
CurrentChunk->data = data_buffer; |
324 |
+ |
memcpy( data_buffer, ((MyRecoTrack*)ParentChunk->buffer)->Info, sizeof(MyRecoTrackInfo) ); |
325 |
+ |
ParentChunk->daughters.push_back(CurrentChunk); |
326 |
+ |
} |
327 |
|
} |
328 |
|
break; |
329 |
|
|
420 |
|
FILE* f = fopen(path,"rb" ); |
421 |
|
if(f==NULL){ |
422 |
|
printf("The file %s can not be open !\n",path); |
423 |
< |
return; |
423 |
> |
exit(0); |
424 |
|
} |
425 |
|
|
426 |
|
stChunk* PrimaryChunk = new stChunk; |