}
Bool_t AliHLTTPCConfMapper::ReadHits(UInt_t count, AliHLTTPCSpacePointData* hits )
+{
+ //read hits with ReadHitsChecked
+ return ReadHitsChecked(count,hits,0);
+}
+
+Bool_t AliHLTTPCConfMapper::ReadHitsChecked(UInt_t count, AliHLTTPCSpacePointData* hits, unsigned int sizeInByte )
{
//read hits
if(fClusterCutZ == -1){
assert(fHit.size()>=fClustersUnused+count);
for (Int_t i=0;(UInt_t)i<count;i++)
{
+ AliHLTTPCSpacePointData *hit = &hits[i];
+ if (sizeInByte>0 && ((AliHLTUInt8_t*)hit)+sizeof(AliHLTTPCSpacePointData)>((AliHLTUInt8_t*)hits)+sizeInByte) {
+ LOG(AliHLTTPCLog::kWarning,"AliHLTTPCConfMapper::ReadHits","")<<"Wrong size of data (" << sizeInByte << " byte), skipping array of AliHLTTPCSpacePointData" <<ENDLOG;;
+ break;
+ }
fHit[i+fClustersUnused].Reset();
fHit[i+fClustersUnused].Read(hits[i]);
}
if (fHit.size()<fClustersUnused+count) fHit.resize(fClustersUnused+count);
assert(fHit.size()>=fClustersUnused+count);
for (Int_t i=0;(UInt_t)i<count;i++)
- {
+ {
+ AliHLTTPCSpacePointData *hit = &hits[i];
+ if (sizeInByte>0 && ((AliHLTUInt8_t*)hit)+sizeof(AliHLTTPCSpacePointData)>((AliHLTUInt8_t*)hits)+sizeInByte) {
+ LOG(AliHLTTPCLog::kWarning,"AliHLTTPCConfMapper::ReadHits","")<<"Wrong size of data (" << sizeInByte << " byte), skipping array of AliHLTTPCSpacePointData" <<ENDLOG;;
+ break;
+ }
if(hits[i].fZ > fClusterCutZ || hits[i].fZ < -1*fClusterCutZ){
++skipped;
continue;
* @return kTRUE if success.
*/
Bool_t ReadHits(UInt_t count, AliHLTTPCSpacePointData* hits );
+ Bool_t ReadHitsChecked(UInt_t count, AliHLTTPCSpacePointData* hits,unsigned int sizeInByte );
void ClusterLoop();
void CreateTrack(AliHLTTPCConfMapPoint *hit);
AliHLTTPCConfMapPoint *GetNextNeighbor(AliHLTTPCConfMapPoint *start_hit,AliHLTTPCConfMapTrack *track=NULL);
AliHLTUInt32_t& size, AliHLTComponentBlockDataList& outputBlocks )
{
// see header file for class documentation
+
+ if (!IsDataEvent()) return 0;
+
int iResult=0;
AliHLTUInt32_t capacity=size;
size=0;
Logging( kHLTLogDebug, "HLT::TPCSliceTracker::DoEvent", "Reading hits",
"Reading hits for slice %d - patch %d", slice, patch );
- fTracker->ReadHits( inPtrSP->fSpacePointCnt, inPtrSP->fSpacePoints );
+ //fTracker->ReadHits( inPtrSP->fSpacePointCnt, inPtrSP->fSpacePoints );
+ fTracker->ReadHitsChecked(inPtrSP->fSpacePointCnt, inPtrSP->fSpacePoints,iter->fSize );
pIter++;
}