X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSclustererV2.h;h=3c0bf27f105b261facf1329c8b1c8708aa3437af;hb=8795e9935f62602e9f1a96cdab62af766d362125;hp=737cd383a993fb12a6a8cfb016022250d5ba2f82;hpb=c391f9d9b3695367078064555bdcd094ca80b8ec;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSclustererV2.h b/ITS/AliITSclustererV2.h index 737cd383a99..3c0bf27f105 100644 --- a/ITS/AliITSclustererV2.h +++ b/ITS/AliITSclustererV2.h @@ -9,23 +9,24 @@ // // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch //-------------------------------------------------------------- -#include +#include 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(const AliITSgeom *geom); + AliITSclustererV2(); + AliITSclustererV2(const Char_t *geom); void SetEvent(Int_t event) { fEvent=event; } - void Digits2Clusters(const TFile *in, TFile *out); - void Digits2Clusters(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); @@ -34,15 +35,8 @@ public: void FindClustersSSD(AliITSRawStream* input, TClonesArray** clusters); void RecPoints2Clusters(const TClonesArray *p, Int_t idx, TClonesArray *c); - void Hits2Clusters(const TFile *in, TFile *out); -private: 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;} @@ -52,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]; } + 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: - 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 Reset() {fIndex=0; fMask=0xFFFFFFFE; fQ=0;} void Use() {fMask&=0xFFFFFFFE;} Bool_t IsNotUsed() const {return (fMask&1);} @@ -86,6 +86,9 @@ private: 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 @@ -93,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 - 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