Obsolete tracker output removed
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCASliceOutput.cxx
index 59c8e7e..c725d3e 100644 (file)
@@ -32,11 +32,11 @@ GPUhd() int AliHLTTPCCASliceOutput::EstimateSize( int nOfTracks, int nOfTrackClu
 
 #ifndef HLTCA_GPUCODE
 
-template<typename T> inline void AssignNoAlignment( T *&dst, char *&mem, int count )
+inline void AssignNoAlignment( int &dst, int &size, int count )
 {
   // assign memory to the pointer dst
-  dst = ( T* ) mem;
-  mem = ( char * )( dst + count );
+  dst = size;
+  size = dst + count ;
 }
 
 void AliHLTTPCCASliceOutput::SetPointers(int nTracks, int nTrackClusters, const outputControlStruct* outputControl)
@@ -45,42 +45,34 @@ void AliHLTTPCCASliceOutput::SetPointers(int nTracks, int nTrackClusters, const
        if (nTracks == -1) nTracks = fNTracks;
        if (nTrackClusters == -1) nTrackClusters = fNTrackClusters;
 
-  char *mem = fMemory;
+  int size = 0;
 
-  if (outputControl == NULL || outputControl->fDefaultOutput)
   {
-         AssignNoAlignment( fTracks,            mem, nTracks );
-         AssignNoAlignment( fClusterUnpackedYZ, mem, nTrackClusters );
-         AssignNoAlignment( fClusterUnpackedX,  mem, nTrackClusters );
-         AssignNoAlignment( fClusterId,         mem, nTrackClusters );
-         AssignNoAlignment( fClusterPackedYZ,   mem, nTrackClusters );
-         AssignNoAlignment( fClusterRow,        mem, nTrackClusters );
-         AssignNoAlignment( fClusterPackedAmp,  mem, nTrackClusters );
+    AssignNoAlignment( fTracksOffset,            size, nTracks*sizeof(AliHLTTPCCASliceTrack) );
+    AssignNoAlignment( fClusterIdOffset,         size, nTrackClusters*sizeof(int) );
+    AssignNoAlignment( fClusterRowOffset,        size, nTrackClusters*sizeof(float) );
+    AssignNoAlignment( fClusterPackedXYZOffset, size, nTrackClusters*sizeof(AliHLTTPCCACompressedCluster) );
   }
+  
+  char *mem = fMemory + size;
 
-  if (outputControl == NULL || outputControl->fObsoleteOutput)
-  {
-         // memory for output tracks
-         AssignMemory( fOutTracks, mem, nTracks );
-         // arrays for track hits
-         AssignMemory( fOutTrackHits, mem, nTrackClusters );
-  }
   if ((size_t) (mem - fMemory) + sizeof(AliHLTTPCCASliceOutput) > fMemorySize)
   {
-         fMemorySize = NULL;
-         //printf("\nINTERNAL ERROR IN AliHLTTPCCASliceOutput MEMORY MANAGEMENT req: %d avail: %d\n", (int) ((size_t) (mem - fMemory) + sizeof(AliHLTTPCCASliceOutput)), (int) fMemorySize);
+    fMemorySize = NULL;
+    //printf("\nINTERNAL ERROR IN AliHLTTPCCASliceOutput MEMORY MANAGEMENT req: %d avail: %d\n", (int) ((size_t) (mem - fMemory) + sizeof(AliHLTTPCCASliceOutput)), (int) fMemorySize);
   }
 }
 
 void AliHLTTPCCASliceOutput::Allocate(AliHLTTPCCASliceOutput* &ptrOutput, int nTracks, int nTrackHits, outputControlStruct* outputControl)
 {
        //Allocate All memory needed for slice output
-  const int memsize = (outputControl->fDefaultOutput ? EstimateSize(nTracks, nTrackHits) : sizeof(AliHLTTPCCASliceOutput)) +
-         (outputControl->fObsoleteOutput? (nTracks * sizeof(AliHLTTPCCAOutTrack) + nTrackHits * sizeof(int)) : 0);
+  const int memsize =  EstimateSize(nTracks, nTrackHits);
+
   if (outputControl->fOutputPtr)
   {
          if (outputControl->fOutputMaxSize < memsize)
          {
+                  outputControl->fEndOfSpace = 1;
                  ptrOutput = NULL;
                  return;
          }