]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSRecPoint.cxx
correct usage of steering options for the PID task
[u/mrichter/AliRoot.git] / ITS / AliITSRecPoint.cxx
index be33cc56ed0cd51e15549b3716edeb5d4e3158ba..2222de9d8dfc12ed69b452058301436f86a500ef 100644 (file)
@@ -189,6 +189,70 @@ Int_t AliITSRecPoint::GetNpixels() const {
 
 }
 
+//----------------------------------------------------------------------
+Int_t AliITSRecPoint::GetSPDclusterType() const {
+//
+// returns an Int_t with encoded information on cluster size
+//    type <= 16: cluster type identifier according to conventional numbering
+//    type >  16: Npixels+1000*Ny+1000000*Nz
+//
+
+ Int_t type = -1;
+ if(fLayer > 1) return type;
+ else {
+
+   switch (fType) {
+     case 1 : type = 1 ;break;
+     case 2 : if(fNy == 2) type = 2;
+              else         type = 3;
+              break;
+     case 3 : if(fNy == 3)      type = 4;
+              else if(fNz == 3) type = 6;
+              else              type = 5;
+              break;
+     case 4 : if(fNz == 1)                  type = 7;
+              else if(fNz == 2 && fNy == 2) type = 8;
+              else if(fNy == 2 && fNz == 3) type = 11;
+              else if(fNy == 3 && fNz == 2) type = 9;
+              else                          type = 15;
+              break;
+     case 5 : if(fNy == 3 && fNz == 2)  type = 10;
+              if(fNy == 2 && fNz == 3 ) type = 12;
+              if(fNy == 5)              type = 16;
+              else                      type = fType+1000*fNy+1000000*fNz;
+              break; 
+     case 6 : if(fNy ==3 && fNz == 2) type = 13;
+              if(fNy ==2 && fNz == 3) type = 14;
+              else                    type = fType+1000*fNy+1000000*fNz;
+              break; 
+     default: type = fType+1000*fNy+1000000*fNz;
+              break; 
+   }  
+
+   return type;
+ }
+}
+
+//----------------------------------------------------------------------
+Int_t AliITSRecPoint::GetSDDclusterType() const {
+// returns an Int_t with encoded information on cluster size
+// Byte1 = fNz Byte0=fNy, other two bytes empty for extra information
+// max. allowed cluster size = 255
+  Int_t typ=(fNz&0xFF)<<8;
+  typ+=fNy&0xFF;
+  return typ;
+}
+
+//----------------------------------------------------------------------
+Int_t AliITSRecPoint::GetSSDclusterType() const {
+// returns an Int_t with encoded information on cluster size
+// Byte1 = fNz Byte0=fNy, other two bytes empty for extra information
+// max. allowed cluster size = 255
+  Int_t typ=(fNz&0xFF)<<8;
+  typ+=fNy&0xFF;
+  return typ;
+}
+
 //----------------------------------------------------------------------
 void AliITSRecPoint::Read(istream *is){
 ////////////////////////////////////////////////////////////////////////