]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSpackageSSD.h
Update of slat geometry
[u/mrichter/AliRoot.git] / ITS / AliITSpackageSSD.h
index 905f8a60911162a4fbe277f5f473906c73f72313..5060e11024ad7ddf8a4a2b3ac13a63cfa495c14a 100644 (file)
@@ -8,9 +8,12 @@
 #include "TObject.h"
 #include "TArrayI.h"
 
-#include "AliITSclusterSSD.h"
+//#include "AliITSclusterSSD.h"
 
 class AliITS;
+class AliITSclusterSSD;
+
+//-------------------------------------------------------------------
 
 class AliITSpackageSSD : public TObject
 {
@@ -34,9 +37,9 @@ class AliITSpackageSSD : public TObject
                    clindex:(*fClusterPIndexes)[fNclustersP++]=clindex;}
        
 //Returns index of one side cluster in TClonesArray, NOT AliITSclusterSSD
-  Int_t    GetNSideClusterIdx(Int_t index); //input index is number of cluster in this package 
-  Int_t    GetPSideClusterIdx(Int_t index); //returns index in TClonesArray
-  Int_t    GetClusterIdx(Int_t index,Bool_t side)
+  Int_t    GetNSideClusterIdx(Int_t index) const; //input index is number of cluster in this package 
+  Int_t    GetPSideClusterIdx(Int_t index) const; //returns index in TClonesArray
+  Int_t    GetClusterIdx(Int_t index,Bool_t side) const 
                {return (side)?GetPSideClusterIdx(index):GetNSideClusterIdx(index);}
  
   AliITSclusterSSD*    GetNSideCluster(Int_t index);
@@ -44,15 +47,15 @@ class AliITSpackageSSD : public TObject
   AliITSclusterSSD*    GetCluster(Int_t index, Bool_t side)
                {return (side)?GetPSideCluster(index):GetNSideCluster(index);}
                        
-  Int_t    GetNextPIdx(Int_t OI); //Returns index of next P cluster in package; OI == Original Inedx (in TClonesArray)
-  Int_t    GetPrvPIdx(Int_t OI);  //Returns index of previous P cluster in package; OI == Original Inedx (in TClonesArray)
-  Int_t    GetNextNIdx(Int_t OI); //Returns index of next N cluster in package; OI == Original Inedx (in TClonesArray)
-  Int_t    GetPrvNIdx(Int_t OI);  //Returns index of previous N cluster in package; OI == Original Inedx (in TClonesArray)
-
-  Int_t    GetNumOfClustersN (){return fNclustersN;}  
-  Int_t    GetNumOfClustersP(){return fNclustersP;}   
-  Int_t    GetNumOfClusters() {return fNclustersP+fNclustersN;}  
-  Int_t    GetNumOfClusters(Bool_t side) {return (side)?fNclustersP:fNclustersN;}
+  Int_t    GetNextPIdx(Int_t OI) const; //Returns index of next P cluster in package; OI == Original Inedx (in TClonesArray)
+  Int_t    GetPrvPIdx(Int_t OI) const;  //Returns index of previous P cluster in package; OI == Original Inedx (in TClonesArray)
+  Int_t    GetNextNIdx(Int_t OI) const; //Returns index of next N cluster in package; OI == Original Inedx (in TClonesArray)
+  Int_t    GetPrvNIdx(Int_t OI) const;  //Returns index of previous N cluster in package; OI == Original Inedx (in TClonesArray)
+  
+  Int_t    GetNumOfClustersN() const {return fNclustersN;}  
+  Int_t    GetNumOfClustersP() const {return fNclustersP;}   
+  Int_t    GetNumOfClusters() const {return fNclustersP+fNclustersN;}  
+  Int_t    GetNumOfClusters(Bool_t side) const {return (side)?fNclustersP:fNclustersN;}
   
   //returns number of clusters belonging to package,
   //that crosses with only one cluster on the other side 
@@ -77,13 +80,14 @@ protected:
   
   TClonesArray *fClustersN;   //Pointer to array of clusters - only to have direct acces to 
   TClonesArray *fClustersP;   //clusters
-  Int_t    fNclustersN;
-  Int_t    fNclustersP;
-  TArrayI *fClusterNIndexes;
-  TArrayI *fClusterPIndexes;
+  Int_t    fNclustersN;       // number of N clusters
+  Int_t    fNclustersP;       // number of P cluster
+  TArrayI *fClusterNIndexes;  // array of pointers to the N clusters
+  TArrayI *fClusterPIndexes;  // array of pointers to the P clusters
 
-  static const Bool_t fgkSIDEP=kTRUE;
-  static const Bool_t fgkSIDEN=kFALSE;
+  static const Bool_t fgkSIDEP;  // boolean for P side 
+  static const Bool_t fgkSIDEN;  // boolean for N side
+  static const Int_t fgkDebug=0;    // debugging flag
 
 
 /***************/
@@ -92,7 +96,7 @@ protected:
 
   
   void    MakeCombin(Int_t**arr, Int_t& nu, Int_t np, Int_t *occup,Int_t size);
-  Bool_t  IsFree(Int_t idx, Int_t nn, Int_t *lis);
+  Bool_t  IsFree(Int_t idx, Int_t nn, const Int_t *lis) const;
   
 
                 
@@ -103,10 +107,3 @@ private:
 };
 
 #endif
-
-
-
-
-
-
-