]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSclustererV2.h
Fixing a little overlap. Adding flags to perform material budget studies (Mario)
[u/mrichter/AliRoot.git] / ITS / AliITSclustererV2.h
index 8f030f359007a2ada06c5acc93784c0c790b37e4..3c0bf27f105b261facf1329c8b1c8708aa3437af 100644 (file)
@@ -15,15 +15,14 @@ class TFile;
 class TTree;
 class TClonesArray;
 
 class TTree;
 class TClonesArray;
 
-class AliITSgeom;
 class AliITSclusterV2;
 class AliRawReader;
 class AliITSRawStream;
 
 class AliITSclustererV2 : public TObject {
 public:
 class AliITSclusterV2;
 class AliRawReader;
 class AliITSRawStream;
 
 class AliITSclustererV2 : public TObject {
 public:
-  AliITSclustererV2(){ fEvent=0; fI=0; f8to10SDD=kTRUE;}
-  AliITSclustererV2(const AliITSgeom *geom);
+  AliITSclustererV2();
+  AliITSclustererV2(const Char_t *geom);
 
   void SetEvent(Int_t event) { fEvent=event; }
   Int_t Digits2Clusters(TTree *in, TTree *out);
 
   void SetEvent(Int_t event) { fEvent=event; }
   Int_t Digits2Clusters(TTree *in, TTree *out);
@@ -32,21 +31,12 @@ public:
   void FindClustersSPD(AliITSRawStream* input, TClonesArray** clusters);
   void FindClustersSDD(const TClonesArray *dig, TClonesArray *cls);
   void FindClustersSDD(AliITSRawStream* input, TClonesArray** clusters);
   void FindClustersSPD(AliITSRawStream* input, TClonesArray** clusters);
   void FindClustersSDD(const TClonesArray *dig, TClonesArray *cls);
   void FindClustersSDD(AliITSRawStream* input, TClonesArray** clusters);
-  void Set8to10SDD(Bool_t flag=kTRUE) {f8to10SDD=flag;}
-  static Int_t Convert8to10(Int_t signal);
   void FindClustersSSD(const TClonesArray *dig, TClonesArray *cls);
   void FindClustersSSD(AliITSRawStream* input, TClonesArray** clusters);
 
   void RecPoints2Clusters(const TClonesArray *p, Int_t idx, TClonesArray *c);
   void FindClustersSSD(const TClonesArray *dig, TClonesArray *cls);
   void FindClustersSSD(AliITSRawStream* input, TClonesArray** clusters);
 
   void RecPoints2Clusters(const TClonesArray *p, Int_t idx, TClonesArray *c);
-  Int_t Hits2Clusters(TTree *in, TTree *out);
 
 
-private:
   class Ali1Dcluster {
   class Ali1Dcluster {
-  private:
-    Float_t fY; //cluster position
-    Float_t fQ; //cluster charge
-    Int_t fNd;  //number of digits
-    Int_t fLab[3]; //track label
   public:
     void SetY(Float_t y) {fY=y;}
     void SetQ(Float_t q) {fQ=q;}
   public:
     void SetY(Float_t y) {fY=y;}
     void SetQ(Float_t q) {fQ=q;}
@@ -56,13 +46,19 @@ private:
     Float_t GetQ() const {return fQ;}
     Int_t GetNd()const {return fNd;}
     Int_t GetLabel(Int_t lab) const { return fLab[lab]; }
     Float_t GetQ() const {return fQ;}
     Int_t GetNd()const {return fNd;}
     Int_t GetLabel(Int_t lab) const { return fLab[lab]; }
+  private:
+    Float_t fY; //cluster position
+    Float_t fQ; //cluster charge
+    Int_t fNd;  //number of digits
+    Int_t fLab[3]; //track label
   };
   class AliBin {
   public:
   };
   class AliBin {
   public:
-    AliBin() {fIndex=0; fQ=0; fMask=0xFFFFFFFE;}
+    AliBin():fIndex(0),fMask(0xFFFFFFFE),fQ(0) {}
     void SetIndex(UInt_t idx) {fIndex=idx;}
     void SetQ(UShort_t q)  {fQ=q;}
     void SetMask(UInt_t m) {fMask=m;}
     void SetIndex(UInt_t idx) {fIndex=idx;}
     void SetQ(UShort_t q)  {fQ=q;}
     void SetMask(UInt_t m) {fMask=m;}
+    void Reset() {fIndex=0; fMask=0xFFFFFFFE; fQ=0;}
 
     void Use() {fMask&=0xFFFFFFFE;}
     Bool_t IsNotUsed() const {return (fMask&1);}
 
     void Use() {fMask&=0xFFFFFFFE;}
     Bool_t IsNotUsed() const {return (fMask&1);}
@@ -90,6 +86,9 @@ private:
 
   static void FindCluster(Int_t k,Int_t maxz,AliBin *bins,Int_t &n,Int_t *idx);
 
 
   static void FindCluster(Int_t k,Int_t maxz,AliBin *bins,Int_t &n,Int_t *idx);
 
+protected:
+  Int_t fNModules;             // total number of modules
+
 private:
   Int_t fEvent;           //event number
 
 private:
   Int_t fEvent;           //event number
 
@@ -97,7 +96,7 @@ private:
   Float_t fYshift[2200];       //y-shifts of detector local coor. systems 
   Float_t fZshift[2200];       //z-shifts of detector local coor. systems 
   Int_t fNdet[2200];            //detector index  
   Float_t fYshift[2200];       //y-shifts of detector local coor. systems 
   Float_t fZshift[2200];       //z-shifts of detector local coor. systems 
   Int_t fNdet[2200];            //detector index  
-  Int_t fNModules;             // total number of modules
+  Int_t fNlayer[2200];          //detector layer
 
   //SPD related values:
   Int_t fLastSPD1;       //index of the last SPD1 detector
 
   //SPD related values:
   Int_t fLastSPD1;       //index of the last SPD1 detector
@@ -118,7 +117,6 @@ private:
   Float_t fHwSDD;         //half width of the SDD detector
   Float_t fHlSDD;         //half length of the SDD detector
   Float_t fYoffSDD;       //some delay in the drift channel   
   Float_t fHwSDD;         //half width of the SDD detector
   Float_t fHlSDD;         //half length of the SDD detector
   Float_t fYoffSDD;       //some delay in the drift channel   
-  Bool_t f8to10SDD;       // 8 -> 10 conversion flag
 
   //SSD related values:
   Int_t fLastSSD1;        //index of the last SSD1 detector   
 
   //SSD related values:
   Int_t fLastSSD1;        //index of the last SSD1 detector