Cleanup: hardcoded bit operations with TPC cluster ID's removed. Instead static...
authorsgorbuno <sgorbuno@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 14 Nov 2010 21:05:13 +0000 (21:05 +0000)
committersgorbuno <sgorbuno@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 14 Nov 2010 21:05:13 +0000 (21:05 +0000)
19 files changed:
HLT/TPCLib/AliHLTTPCCFComparisonComponent.cxx
HLT/TPCLib/AliHLTTPCClusterConverterComponent.cxx
HLT/TPCLib/AliHLTTPCClusterDumpComponent.cxx
HLT/TPCLib/AliHLTTPCClusterFinder.cxx
HLT/TPCLib/AliHLTTPCConfMapPoint.cxx
HLT/TPCLib/AliHLTTPCFileHandler.cxx
HLT/TPCLib/AliHLTTPCFitter.cxx
HLT/TPCLib/AliHLTTPCHWClusterTransformComponent.cxx
HLT/TPCLib/AliHLTTPCSpacePointData.h
HLT/TPCLib/AliHLTTPCTrackHistoComponent.cxx
HLT/TPCLib/AliHLTTPCTrackMCMarkerComponent.cxx
HLT/TPCLib/AliHLTTPCdEdxComponent.cxx
HLT/TPCLib/calibration/AliHLTTPCCalibSeedMakerComponent.cxx
HLT/TPCLib/calibration/AliHLTTPCCalibTimeComponent.cxx
HLT/TPCLib/calibration/AliHLTTPCCalibTracksComponent.cxx
HLT/TPCLib/comp/AliHLTTPCCompModelConverter.cxx
HLT/TPCLib/comp/AliHLTTPCCompModelDeconverter.cxx
HLT/TPCLib/tracking-ca/AliHLTTPCCAInputDataCompressorComponent.cxx
HLT/TPCLib/tracking-ca/AliHLTTPCCATrackerComponent.cxx

index bca8191..027be6e 100644 (file)
@@ -317,9 +317,9 @@ int AliHLTTPCCFComparisonComponent::DoEvent(const AliHLTComponentEventData& /*ev
 //        for(UInt_t i=0; i<element->GetNumberOfPoints(); i++){
 //            
 //                UInt_t idTrack   = hitnum[i];
-//            Int_t sliceTrack = (idTrack>>25) & 0x7f;
-//            Int_t patchTrack = (idTrack>>22) & 0x7;
-//            UInt_t pos           = idTrack&0x3fffff;
+//            Int_t sliceTrack = AliHLTTPCSpacePointData::GetSlice(idTrack);
+//            Int_t patchTrack = AliHLTTPCSpacePointData::GetPatch(idTrack);
+//            UInt_t pos           = AliHLTTPCSpacePointData::GetNumber(idTrack);
 //        
 //        //printf("KKKK pos :%d\n", pos);
 //        cout << "KKKK pos  " << pos << endl;
index 9fb1703..c256d08 100644 (file)
@@ -282,16 +282,16 @@ int AliHLTTPCClusterConverterComponent::DoEvent(const AliHLTComponentEventData&
        
            for(Int_t h=0; h<nHits; h++){
                UInt_t  idTrack        = hitnum[h];
-               Int_t   sliceTrack     = (idTrack>>25) & 0x7f;
-               Int_t   partitionTrack = (idTrack>>22) & 0x7;
-               UInt_t  posTrack       = idTrack&0x3fffff;
+               Int_t   sliceTrack     = AliHLTTPCSpacePointData::GetSlice(idTrack);
+               Int_t   partitionTrack = AliHLTTPCSpacePointData::GetPatch(idTrack);
+               UInt_t  posTrack       = AliHLTTPCSpacePointData::GetNumber(idTrack);
                  
                 fOffArray->Clear();
                  for(Int_t cl=0; cl<numOfTotalSpacePoints; cl++){       
                      UInt_t  idCluster        = fClusters[cl].fID;
-                     Int_t   sliceCluster     = (idCluster>>25) & 0x7f;
-                     Int_t   partitionCluster = (idCluster>>22) & 0x7;
-                     UInt_t  posCluster       = idCluster&0x3fffff;
+                     Int_t   sliceCluster     = AliHLTTPCSpacePointData::GetSlice(idCluster);
+                     Int_t   partitionCluster = AliHLTTPCSpacePointData::GetPatch(idCluster);
+                     UInt_t  posCluster       = AliHLTTPCSpacePointData::GetNumber(idCluster);
                                     
                      
                     if(sliceCluster==sliceTrack && partitionCluster==partitionTrack && posCluster==posTrack){
index 8fdd73f..087fac2 100644 (file)
@@ -135,8 +135,8 @@ int AliHLTTPCClusterDumpComponent::DumpEvent( const AliHLTComponentEventData& ev
        
        for(int i=0;i<nSpacepoints;i++){
          UInt_t idCluster = clusters[i].fID;
-         Int_t slice = (idCluster>>25) & 0x7f;
-         Int_t patch = (idCluster>>22) & 0x7;
+         Int_t slice = AliHLTTPCSpacePointData::GetSlice(idCluster);
+         Int_t patch = AliHLTTPCSpacePointData::GetPatch(idCluster);
          
          dump << "" << endl;
          dump << "ClusterNumber: " << spacePointCounter << endl;
@@ -183,8 +183,8 @@ int AliHLTTPCClusterDumpComponent::DumpEvent( const AliHLTComponentEventData& ev
        
        for(int i=0;i<nSpacepoints;i++){
          UInt_t idCluster = clusters[i].fID;
-         Int_t slice = (idCluster>>25) & 0x7f;
-         Int_t patch = (idCluster>>22) & 0x7;
+         Int_t slice = AliHLTTPCSpacePointData::GetSlice(idCluster);
+         Int_t patch = AliHLTTPCSpacePointData::GetPatch(idCluster);
          
          dump << "" << endl;
          dump << "ClusterNumber: " << spacePointCounter << endl;
index b88659e..5d69212 100644 (file)
@@ -1223,8 +1223,7 @@ void AliHLTTPCClusterFinder::WriteClusters(Int_t nclusters,AliClusterData *list)
 
       Int_t patch=fCurrentPatch;
       if(patch==-1) patch=0; //never store negative patch number
-      fSpacePointData[counter].fID = counter
-       +((fCurrentSlice&0x7f)<<25)+((patch&0x7)<<22);//Uli
+      fSpacePointData[counter].SetID( fCurrentSlice, patch, counter );
 
 #ifdef do_mc
       Int_t trackID[3];
@@ -1375,8 +1374,7 @@ void AliHLTTPCClusterFinder::WriteClusters(Int_t nclusters,AliHLTTPCClusters *li
 
       Int_t patch=fCurrentPatch;
       if(patch==-1) patch=0; //never store negative patch number
-      fSpacePointData[counter].fID = counter
-       +((fCurrentSlice&0x7f)<<25)+((patch&0x7)<<22);//Uli
+      fSpacePointData[counter].SetID( fCurrentSlice, patch, counter );
 
 #ifdef do_mc
       Int_t trackID[3];
index a0bdbb0..7c0acb7 100644 (file)
@@ -201,9 +201,8 @@ Bool_t AliHLTTPCConfMapPoint::Read(const AliHLTTPCSpacePointData& hit)
 {
   //read the hits
   SetHitNumber(hit.fID);
-  SetPadRow(hit.fPadRow);
-  Int_t slice = (hit.fID>>25) & 0x7f;
-  SetSector(slice);
+  SetPadRow(hit.fPadRow);  
+  SetSector(hit.GetSlice());
   SetX(hit.fX);
   SetY(hit.fY);
   SetZ(hit.fZ);
index ce952c3..15933f9 100644 (file)
@@ -1306,7 +1306,7 @@ AliHLTTPCSpacePointData * AliHLTTPCFileHandler::AliPoints2Memory(UInt_t & npoint
       data[n].fY = c->GetY();
       data[n].fX = fParam->GetPadRowRadii(sector,row);
       data[n].fCharge = (UInt_t)c->GetQ();
-      data[n].fID = n+((fSlice&0x7f)<<25)+((pat&0x7)<<22);//uli
+      data[n].SetID( fSlice, pat, n );
       data[n].fPadRow = lrow;
       data[n].fSigmaY2 = c->GetSigmaY2();
       data[n].fSigmaZ2 = c->GetSigmaZ2();
index 955fe38..32a5ef3 100644 (file)
@@ -140,9 +140,9 @@ void AliHLTTPCFitter::SortTrackClusters(AliHLTTPCTrack *track) const
        {
          id=ids[k];
          if(id < 0) continue;
-         slice = (id>>25) & 0x7f;
-         patch = (id>>22) & 0x7;
-         pos = id&0x3fffff;          
+         slice = AliHLTTPCSpacePointData::GetSlice(id);
+         patch = AliHLTTPCSpacePointData::GetPatch(id);
+         pos = AliHLTTPCSpacePointData::GetNumber(id);
          AliHLTTPCSpacePointData *points = fClusters[slice][patch];
          padrow = points[pos].fPadRow;
          if(padrow > maxrow)
@@ -203,9 +203,9 @@ Int_t AliHLTTPCFitter::FitCircle()
   for(Int_t i=0; i<fTrack->GetNHits(); i++)
     {
       UInt_t id = hitnum[i];
-      Int_t slice = (id>>25) & 0x7f;
-      Int_t patch = (id>>22) & 0x7;
-      UInt_t pos = id&0x3fffff;
+      Int_t slice = AliHLTTPCSpacePointData::GetSlice(id);
+      Int_t patch = AliHLTTPCSpacePointData::GetPatch(id);
+      UInt_t pos = AliHLTTPCSpacePointData::GetNumber(id);
       AliHLTTPCSpacePointData *points = fClusters[slice][patch];
       fXYWeight[i] = 1./ (Double_t)(points[pos].fSigmaY2 + points[pos].fSigmaY2);
       wsum += fXYWeight[i];
@@ -232,9 +232,9 @@ Int_t AliHLTTPCFitter::FitCircle()
   for(Int_t i=0; i<fTrack->GetNHits(); i++)
     { 
       UInt_t id = hitnum[i];
-      Int_t slice = (id>>25) & 0x7f;
-      Int_t patch = (id>>22) & 0x7;
-      UInt_t pos = id&0x3fffff;
+      Int_t slice = AliHLTTPCSpacePointData::GetSlice(id);
+      Int_t patch = AliHLTTPCSpacePointData::GetPatch(id);
+      UInt_t pos = AliHLTTPCSpacePointData::GetNumber(id);
       AliHLTTPCSpacePointData *points = fClusters[slice][patch];
 
       xi = points[pos].fX -xav;
@@ -319,9 +319,9 @@ Int_t AliHLTTPCFitter::FitCircle()
   for(Int_t i=0; i<fTrack->GetNHits(); i++)
     { 
       UInt_t id = hitnum[i];
-      Int_t slice = (id>>25) & 0x7f;
-      Int_t patch = (id>>22) & 0x7;
-      UInt_t pos = id&0x3fffff;
+      Int_t slice = AliHLTTPCSpacePointData::GetSlice(id);
+      Int_t patch = AliHLTTPCSpacePointData::GetPatch(id);
+      UInt_t pos = AliHLTTPCSpacePointData::GetNumber(id);
       AliHLTTPCSpacePointData *points = fClusters[slice][patch];
       
       xold = points[pos].fX - xav ;
@@ -482,9 +482,9 @@ Int_t AliHLTTPCFitter::FitCircle()
   Double_t x0,y0,psi,pt ;
   Int_t lastid=fTrack->GetNHits()-1;
   UInt_t id = hitnum[lastid];
-  Int_t slice = (id>>25) & 0x7f;
-  Int_t patch = (id>>22) & 0x7;
-  UInt_t pos = id&0x3fffff;
+  Int_t slice = AliHLTTPCSpacePointData::GetSlice(id);
+  Int_t patch = AliHLTTPCSpacePointData::GetPatch(id);
+  UInt_t pos = AliHLTTPCSpacePointData::GetNumber(id);
   AliHLTTPCSpacePointData *points = fClusters[slice][patch];
   x0   =  points[pos].fX;
   y0   =  points[pos].fY;
@@ -535,9 +535,9 @@ Int_t AliHLTTPCFitter::FitLine ( )
   if (0)//fVertexConstraint==kTRUE)
     {
       UInt_t id = hitnum[0];
-      Int_t slice = (id>>25) & 0x7f;
-      Int_t patch = (id>>22) & 0x7;
-      UInt_t pos = id&0x3fffff;
+      Int_t slice = AliHLTTPCSpacePointData::GetSlice(id);
+      Int_t patch = AliHLTTPCSpacePointData::GetPatch(id);
+      UInt_t pos = AliHLTTPCSpacePointData::GetNumber(id);
       AliHLTTPCSpacePointData *points = fClusters[slice][patch];
       
       dx = points[pos].fX - fVertex->GetX();
@@ -546,14 +546,14 @@ Int_t AliHLTTPCFitter::FitLine ( )
   else 
     {
       UInt_t id = hitnum[0];
-      Int_t slice = (id>>25) & 0x7f;
-      Int_t patch = (id>>22) & 0x7;
-      UInt_t posf = id&0x3fffff;
+      Int_t slice = AliHLTTPCSpacePointData::GetSlice(id);
+      Int_t patch = AliHLTTPCSpacePointData::GetPatch(id);
+      UInt_t posf = AliHLTTPCSpacePointData::GetNumber(id);
       AliHLTTPCSpacePointData *pointsf = fClusters[slice][patch];
       id = hitnum[(fTrack->GetNHits()-1)];
-      slice = (id>>25) & 0x7f;
-      patch = (id>>22) & 0x7;
-      UInt_t posl = id&0x3fffff;
+      slice = AliHLTTPCSpacePointData::GetSlice(id);
+      patch = AliHLTTPCSpacePointData::GetPatch(id);
+      UInt_t posl = AliHLTTPCSpacePointData::GetNumber(id);
       AliHLTTPCSpacePointData *pointsl = fClusters[slice][patch];
       dx = pointsf[posf].fX - pointsl[posl].fX;
       dy = pointsf[posf].fY - pointsl[posl].fY;
@@ -576,18 +576,18 @@ Int_t AliHLTTPCFitter::FitLine ( )
   for(Int_t i=0; i<fTrack->GetNHits(); i++)
     { 
       UInt_t id = hitnum[i];
-      Int_t slice = (id>>25) & 0x7f;
-      Int_t patch = (id>>22) & 0x7;
-      UInt_t pos = id&0x3fffff;
+      Int_t slice = AliHLTTPCSpacePointData::GetSlice(id);
+      Int_t patch = AliHLTTPCSpacePointData::GetPatch(id);
+      UInt_t pos = AliHLTTPCSpacePointData::GetNumber(id);
       AliHLTTPCSpacePointData *points = fClusters[slice][patch];
       
       fZWeight[i] = 1./(Double_t)(points[pos].fSigmaZ2);
       if(i>0)
        {
          id = hitnum[i-1];
-         slice = (id>>25) & 0x7f;
-         patch = (id>>22) & 0x7;
-         UInt_t lastpos = id&0x3fffff;
+         slice = AliHLTTPCSpacePointData::GetSlice(id);
+         patch = AliHLTTPCSpacePointData::GetPatch(id);
+         UInt_t lastpos = AliHLTTPCSpacePointData::GetNumber(id);
          AliHLTTPCSpacePointData *lastpoints = fClusters[slice][patch];
          dx = points[pos].fX -lastpoints[lastpos].fX;
          dy = points[pos].fY -lastpoints[lastpos].fY;
@@ -634,9 +634,9 @@ Int_t AliHLTTPCFitter::FitLine ( )
   for(Int_t i=0; i<fTrack->GetNHits(); i++)
     { 
       UInt_t id = hitnum[i];
-      Int_t slice = (id>>25) & 0x7f;
-      Int_t patch = (id>>22) & 0x7;
-      UInt_t pos = id&0x3fffff;
+      Int_t slice = AliHLTTPCSpacePointData::GetSlice(id);
+      Int_t patch = AliHLTTPCSpacePointData::GetPatch(id);
+      UInt_t pos = AliHLTTPCSpacePointData::GetNumber(id);
       AliHLTTPCSpacePointData *points = fClusters[slice][patch];
       r1   = points[pos].fZ - tanl * fS[i] - z0 ;
       chi2 += (Double_t) ( (Double_t)(fZWeight[i]) * (r1 * r1) );
index 4119340..d0bebdc 100644 (file)
@@ -267,7 +267,7 @@ int AliHLTTPCHWClusterTransformComponent::DoEvent(const AliHLTComponentEventData
           cluster.fZ = xyz[2];                            
 
           // set the cluster ID so that the cluster dump printout is the same for FCF and SCF
-          cluster.fID = nAddedClusters +((minSlice&0x7f)<<25)+((minPartition&0x7)<<22);
+          cluster.SetID( minSlice, minPartition, nAddedClusters );
 
           HLTDebug("Cluster number %d: %f, Y: %f, Z: %f, charge: %d \n", nAddedClusters, cluster.fX, cluster.fY, cluster.fZ, (UInt_t)cluster.fCharge);
           outPtr->fSpacePoints[nAddedClusters] = cluster;
index 36b8f30..1a3171b 100644 (file)
@@ -31,6 +31,21 @@ struct AliHLTTPCSpacePointData{
   UInt_t fQMax;     // QMax of cluster
   Bool_t fUsed;     // only used in AliHLTTPCDisplay 
   Int_t fTrackN;    // only used in AliHLTTPCDisplay 
+
+  static UInt_t GetSlice( UInt_t Id )  { return (Id>>25)&0x3F; }
+  static UInt_t GetPatch( UInt_t Id )  { return (Id>>22)&0x7; }
+  static UInt_t GetNumber( UInt_t Id ) { return Id&0x003FFFFF; }
+  static UInt_t GetID( UInt_t Slice, UInt_t Patch, UInt_t Number ){
+    return ((Slice&0x3F)<<25)+((Patch&0x7)<<22) + (Number&0x003FFFFF);
+  }
+
+  void SetID( UInt_t Slice, UInt_t Patch, UInt_t Number ){
+    fID = GetID(Slice, Patch,Number);
+  }
+  UInt_t GetSlice() const { return GetSlice(fID); }
+  UInt_t GetPatch() const { return GetPatch(fID); }
+  UInt_t GetNumber() const { return GetNumber(fID); }
+
 };
 typedef struct AliHLTTPCSpacePointData AliHLTTPCSpacePointData;
 
index 00ea0eb..e41978d 100644 (file)
@@ -286,10 +286,10 @@ void AliHLTTPCTrackHistoComponent::ReadTracks(const AliHLTComponentBlockData* it
        for(UInt_t i=0; i<element->GetNumberOfPoints(); i++){
            
           UInt_t idTrack   = hitnum[i];
-           Int_t sliceTrack = (idTrack>>25) & 0x7f;
-           Int_t patchTrack = (idTrack>>22) & 0x7;
-           UInt_t pos      = idTrack&0x3fffff;
-
+           Int_t sliceTrack = AliHLTTPCSpacePointData::GetSlice(idTrack);
+           Int_t patchTrack = AliHLTTPCSpacePointData::GetPatch(idTrack);
+           UInt_t pos      = AliHLTTPCSpacePointData::GetNumber(idTrack);
            if( !fClustersArray[sliceTrack][patchTrack] ) continue;            
           
           if(sliceTrack<0 || sliceTrack>36 || patchTrack<0 || patchTrack>5 ){
index 6e8ddfc..6d99597 100644 (file)
@@ -28,6 +28,7 @@ using namespace std;
 #include "AliHLTTPCTrackletDataFormat.h"
 #include "AliHLTTPCCADef.h"
 #include "AliHLTTPCDefinitions.h"
+#include "AliHLTTPCSpacePointData.h"
 
 #include "AliCDBEntry.h"
 #include "AliCDBManager.h"
@@ -240,9 +241,9 @@ Int_t AliHLTTPCTrackMCMarkerComponent::GetTrackMCLabel( unsigned int *hits, int
 
   for( Int_t ih=0; ih<nHits; ih++){
     UInt_t id = hits[ih];
-    int iSlice = id>>25;
-    int iPatch = (id>>22)&0x7; 
-    int iCluster = id&0x3fffff;
+    int iSlice = AliHLTTPCSpacePointData::GetSlice(id);
+    int iPatch = AliHLTTPCSpacePointData::GetPatch(id);
+    int iCluster = AliHLTTPCSpacePointData::GetNumber(id);
     if( iSlice<0 || iSlice>36 || iPatch<0 || iPatch>5 ){
       HLTError("Corrupted TPC cluster Id: slice %d, patch %d, cluster %d",
               iSlice, iPatch,iCluster );
index e6289a4..5a2714a 100644 (file)
@@ -425,9 +425,9 @@ int AliHLTTPCdEdxComponent::DoEvent
       
       for( UInt_t ic=0; ic<currTrack->fNPoints; ic++){     
        UInt_t id = currTrack->fPointIDs[ic];
-       int iSlice = id>>25;
-       int iPatch = (id>>22)&0x7; 
-       int iCluster = id&0x3fffff;
+       int iSlice = AliHLTTPCSpacePointData::GetSlice(id);
+       int iPatch = AliHLTTPCSpacePointData::GetPatch(id);
+       int iCluster = AliHLTTPCSpacePointData::GetNumber(id);
        if( iSlice<0 || iSlice>36 || iPatch<0 || iPatch>5 ){
          HLTError("Corrupted TPC cluster Id: slice %d, patch %d, cluster %d",
                   iSlice, iPatch,iCluster );
index 065d17b..5e7d2c4 100644 (file)
@@ -274,10 +274,10 @@ int AliHLTTPCCalibSeedMakerComponent::DoEvent(const AliHLTComponentEventData& /*
             
              tTPC.SetNumberOfClusters(currTrack->fNPoints);
           
-            UInt_t id      = currTrack->fPointIDs[ic];
-            int iSlice     = id>>25;
-            int iPartition = (id>>22)&0x7; 
-            int iCluster   = id&0x3fffff;
+            UInt_t id      = currTrack->fPointIDs[ic];      
+            int iSlice = AliHLTTPCSpacePointData::GetSlice(id);
+            int iPartition = AliHLTTPCSpacePointData::GetPatch(id);
+            int iCluster = AliHLTTPCSpacePointData::GetNumber(id);
        
             if(iSlice<0 || iSlice>36 || iPartition<0 || iPartition>5){
                 HLTError("Corrupted TPC cluster Id: slice %d, partition %d, cluster %d", iSlice, iPartition, iCluster);
index e13c1b0..68710dd 100644 (file)
@@ -318,9 +318,9 @@ Int_t AliHLTTPCCalibTimeComponent::ProcessCalibration( const AliHLTComponentEven
               tTPC.SetNumberOfClusters(currTrack->fNPoints);
           
              UInt_t id = currTrack->fPointIDs[ic];
-             int iSlice = id>>25;
-             int iPartition = (id>>22)&0x7; 
-             int iCluster = id&0x3fffff;
+             int iSlice = AliHLTTPCSpacePointData::GetSlice(id);
+             int iPartition = AliHLTTPCSpacePointData::GetPatch(id);
+             int iCluster = AliHLTTPCSpacePointData::GetNumber(id);    
        
              if(iSlice<0 || iSlice>36 || iPartition<0 || iPartition>5){
                 HLTError("Corrupted TPC cluster Id: slice %d, partition %d, cluster %d", iSlice, iPartition, iCluster);
index c4249d9..73225ad 100644 (file)
@@ -360,10 +360,10 @@ Int_t AliHLTTPCCalibTracksComponent::ProcessCalibration(const AliHLTComponentEve
       for(Int_t i=0; i<nSpacepoint; i++){
        
           UInt_t idCluster = clusters[i].fID;
-          Int_t  sliceCl   = (idCluster>>25) & 0x7f;
-          Int_t  patchCl   = (idCluster>>22) & 0x7;
-          UInt_t pos       = idCluster&0x3fffff;
-         
+          Int_t  sliceCl   = AliHLTTPCSpacePointData::GetSlice(idCluster);
+          Int_t  patchCl   = AliHLTTPCSpacePointData::GetPatch(idCluster);
+          UInt_t pos       = AliHLTTPCSpacePointData::GetNumber(idCluster);
+
          //cout << idCluster <<"\t"<< patchCl << "\t"<< pos << endl;
          //cout << fTrackClusterID[sliceCl][patchCl].size()<< endl;
               
@@ -459,9 +459,9 @@ void AliHLTTPCCalibTracksComponent::ReadTracks(const AliHLTComponentBlockData *i
       for(UInt_t h=0; h<nHits; h++){
           
          UInt_t idTrack = hitnum[h];
-          Int_t sliceTrack = (idTrack>>25) & 0x7f;
-          Int_t patchTrack = (idTrack>>22) & 0x7;
-          UInt_t pos = idTrack&0x3fffff;
+          Int_t sliceTrack = AliHLTTPCSpacePointData::GetSlice(idTrack);
+          Int_t patchTrack = AliHLTTPCSpacePointData::GetPatch(idTrack);
+          UInt_t pos = AliHLTTPCSpacePointData::GetNumber(idTrack);
           fTrackClusterID[sliceTrack][patchTrack].push_back(pos);
       } // end for loop over hits
        
index 28c8ca1..14c6f25 100644 (file)
@@ -176,16 +176,16 @@ void AliHLTTPCCompModelConverter::Convert()
          outtrack->CalculateHelix();
          Int_t nhits = intrack->GetNHits();
          UInt_t *hitids = intrack->GetHitNumbers();
-         Int_t origslice = (hitids[nhits-1]>>25)&0x7f;
+         Int_t origslice = AliHLTTPCSpacePointData::GetSlice(hitids[nhits-1]);
          outtrack->Init(origslice,-1);
          
          for(Int_t j=nhits-1; j>=0; j--)
            {
              UInt_t id=hitids[j];
-             Int_t slice = (id>>25)&0x7f;
-             Int_t patch = (id>>22)&0x7;
-             UInt_t pos = id&0x3fffff;      
-             
+             Int_t slice = AliHLTTPCSpacePointData::GetSlice(id);
+             Int_t patch = AliHLTTPCSpacePointData::GetPatch(id);
+             UInt_t pos = AliHLTTPCSpacePointData::GetNumber(id);
+
              //UInt_t size;
              if ( !fClusters[slice][patch] )
                {
index 65d2562..a182eed 100644 (file)
@@ -156,9 +156,9 @@ int AliHLTTPCCompModelDeconverter::DeconvertTracks( AliHLTUInt8_t* data, UInt_t&
              //validation test
              //HLTInfo("Hello World %d !",jj);
              UInt_t slice, partition;
-             slice = (tracklet->fPointIDs[jj]>>25) & 0x7f;
-             partition = (tracklet->fPointIDs[jj]>>22) & 0x7;
-             tracklet->fPointIDs[jj] = (clusterCounts[slice][partition] & ((1<<22)-1)) | ((partition & 0x7) << 22) | ((slice & 0x7F) << 25);
+             slice = AliHLTTPCSpacePointData::GetSlice(tracklet->fPointIDs[jj]);
+             partition = AliHLTTPCSpacePointData::GetPatch(tracklet->fPointIDs[jj]);
+             tracklet->fPointIDs[jj] = AliHLTTPCSpacePointData::GetID(slice,partition,clusterCounts[slice][partition]);
              clusterCounts[slice][partition]++;
            }
          tracklet = (AliHLTTPCTrackSegmentData*) ( ((AliHLTUInt8_t*)tracklet)+sizeof(AliHLTTPCTrackSegmentData)+tracklet->fNPoints*sizeof(UInt_t) );
@@ -224,7 +224,8 @@ int AliHLTTPCCompModelDeconverter::DeconvertClusters( UInt_t slice, UInt_t patch
              clusters[clusterData->fSpacePointCnt].fCharge = charge;
              clusters[clusterData->fSpacePointCnt].fUsed = kTRUE;
              clusters[clusterData->fSpacePointCnt].fTrackN = i;
-             clusters[clusterData->fSpacePointCnt].fID = (clusterData->fSpacePointCnt & ((1<<22)-1)) | ((patch & 0x7) << 22) | ((slice & 0x7F) << 25);
+             clusters[clusterData->fSpacePointCnt].SetID(slice,patch,clusterData->fSpacePointCnt);
+
              clusterData->fSpacePointCnt++;
              outSize += sizeof(AliHLTTPCSpacePointData);
            }
@@ -276,7 +277,7 @@ int AliHLTTPCCompModelDeconverter::DeconvertClusters( UInt_t slice, UInt_t patch
                              clusters[clusterData->fSpacePointCnt].fCharge = cl[ii].fCharge;
                              clusters[clusterData->fSpacePointCnt].fUsed = kFALSE;
                              clusters[clusterData->fSpacePointCnt].fTrackN = -1;
-                             clusters[clusterData->fSpacePointCnt].fID = (clusterData->fSpacePointCnt & ((1<<22)-1)) | ((patch & 0x7) << 22) | ((slice & 0x7F) << 25);
+                             clusters[clusterData->fSpacePointCnt].SetID(slice,patch,clusterData->fSpacePointCnt);
                              clusterData->fSpacePointCnt++;
                              outSize += sizeof(AliHLTTPCSpacePointData);
                            }
index 0a23283..b915511 100644 (file)
@@ -245,8 +245,8 @@ int AliHLTTPCCAInputDataCompressorComponent::Compress( AliHLTTPCClusterData* inp
   for ( unsigned int i = 0; i < inputPtr->fSpacePointCnt; i++ ){ 
     AliHLTTPCSpacePointData *cluster = &( inputPtr->fSpacePoints[i] );
     UInt_t origId = cluster->fID;
-    UInt_t patch = (origId>>22)&0x7;
-    UInt_t slice = origId>>25;
+    UInt_t patch = cluster->GetPatch();
+    UInt_t slice = cluster->GetSlice();
     UInt_t row = cluster->fPadRow;
     Double_t rowX = AliHLTTPCTransform::Row2X( row );
     row = row - AliHLTTPCTransform::GetFirstRow( patch );
index b709818..3abe8b0 100644 (file)
@@ -629,7 +629,7 @@ int AliHLTTPCCATrackerComponent::DoEvent
                      y = (y - 8388608.)*1.e-4;
                      z = (z - 8388608.)*1.e-4;
                      
-                     UInt_t cluId = nPatchClust + ((jslice&0x7f)<<25)+((jpatch&0x7)<<22);
+                     UInt_t cluId = AliHLTTPCSpacePointData::GetID( jslice, jpatch, nPatchClust );
                      //cout<<"clu "<<i<<": "<<x<<" "<<y<<" "<<z<<" "<<cluId<<endl;
                      if ( CAMath::Abs( z ) <= fClusterZCut ){
                        clusterData[islice].ReadCluster( cluId, jrow, x, y, z, 0 );