]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSclustererV2.h
Updating geometry for new scintillaton modules
[u/mrichter/AliRoot.git] / ITS / AliITSclustererV2.h
index 4716c4002df1ef88c7012b655cf1351b99f22140..f6e469bd091904cd6ccdf08029e5f87828a9079b 100644 (file)
@@ -9,26 +9,34 @@
 //
 //   Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch 
 //--------------------------------------------------------------
-#include <Rtypes.h>
+#include <TObject.h>
 
 class TFile;
+class TTree;
 class TClonesArray;
 
 class AliITSgeom;
 class AliITSclusterV2;
+class AliRawReader;
+class AliITSRawStream;
 
-class AliITSclustererV2 {
+class AliITSclustererV2 : public TObject {
 public:
-  AliITSclustererV2(){ fEvent=0; fI=0; }
+  AliITSclustererV2(){ fEvent=0; fI=0;}
   AliITSclustererV2(const AliITSgeom *geom);
 
   void SetEvent(Int_t event) { fEvent=event; }
-  void Digits2Clusters(const TFile *in, TFile *out);
+  Int_t Digits2Clusters(TTree *in, TTree *out);
+  void Digits2Clusters(AliRawReader* rawReader);
   void FindClustersSPD(const TClonesArray *dig, TClonesArray *cls);
+  void FindClustersSPD(AliITSRawStream* input, TClonesArray** clusters);
   void FindClustersSDD(const TClonesArray *dig, TClonesArray *cls);
+  void FindClustersSDD(AliITSRawStream* input, TClonesArray** clusters);
   void FindClustersSSD(const TClonesArray *dig, TClonesArray *cls);
+  void FindClustersSSD(AliITSRawStream* input, TClonesArray** clusters);
 
-  void Hits2Clusters(const TFile *in, TFile *out);
+  void RecPoints2Clusters(const TClonesArray *p, Int_t idx, TClonesArray *c);
+  Int_t Hits2Clusters(TTree *in, TTree *out);
 
 private:
   class Ali1Dcluster {
@@ -71,6 +79,12 @@ private:
   static void MarkPeak(Int_t k, Int_t max, AliBin *bins, UInt_t m);
   static void MakeCluster(Int_t k,Int_t max,AliBin *bins,UInt_t m,
    AliITSclusterV2 &c);
+  void FindClustersSDD(AliBin* bins[2], Int_t nMaxBin, Int_t nMaxZ,
+                      const TClonesArray *dig, TClonesArray *cls);
+  void FindClustersSSD(Ali1Dcluster* neg, Int_t nn, 
+                      Ali1Dcluster* pos, Int_t np,
+                      TClonesArray *clusters);
+
 
   static void FindCluster(Int_t k,Int_t maxz,AliBin *bins,Int_t &n,Int_t *idx);
 
@@ -81,6 +95,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  
+  Int_t fNModules;             // total number of modules
 
   //SPD related values:
   Int_t fLastSPD1;       //index of the last SPD1 detector