X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSClusterFinder.h;h=0dfd3005398bdfb91492c8a37e56e48dade1fd8b;hb=258abb9c495df3206173f24c65727c6c28d923d7;hp=d0311bf1b4aa05775cda69c696fea4c4ced8ec0a;hpb=5d2c2f860c4b7cefbee8cb3490202e1bb069ce93;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSClusterFinder.h b/ITS/AliITSClusterFinder.h index d0311bf1b4a..0dfd3005398 100644 --- a/ITS/AliITSClusterFinder.h +++ b/ITS/AliITSClusterFinder.h @@ -14,11 +14,11 @@ #include #include +#include "AliLog.h" class AliITSMap; class AliITSresponse; class AliITSsegmentation; -class AliITSRawCluster; class AliITSdigit; class AliITSRecPoint; class AliITSDetTypeRec; @@ -34,14 +34,11 @@ class AliITSClusterFinder :public TObject{ virtual ~AliITSClusterFinder(); // Destructor // // Do the Reconstruction. - virtual void FindRawClusters(Int_t mod=0); // Finds cluster of digits. - // - // Sets the debug flag for debugging output - void SetDebug(Int_t level=1){fDebug=level;} - // Clears the debug flag so no debugging output will be generated - void SetNoDebug(){fDebug=0;} - // Returns the debug flag value - Bool_t GetDebug(Int_t level=1)const {return fDebug>=level;} + virtual void FindRawClusters(Int_t /*mod*/)=0; // Finds cluster of digits. + virtual void RawdataToClusters(AliRawReader* /*rawReader*/,TClonesArray** /*clusters*/) { + AliError("Method not implemented in this class "); + } + // Digit virtual void SetDigits(TClonesArray *itsDigits) {// set digits fDigits=itsDigits;fNdigits = fDigits->GetEntriesFast();} @@ -49,62 +46,28 @@ class AliITSClusterFinder :public TObject{ return (AliITSdigit*) fDigits->UncheckedAt(i);} virtual TClonesArray* Digits(){return fDigits;}// Gets fDigits virtual Int_t NDigits() const {return fNdigits;}// Get Number of Digits - // clulsters + // Set fClusters up virtual void SetClusters(TClonesArray *itsClusters){// set clusters - fClusters = itsClusters;fNRawClusters = fClusters->GetEntriesFast();} + fClusters = itsClusters;} // Get fCluters virtual TClonesArray* Clusters(){return fClusters;} - // Get fCluter - virtual AliITSRawCluster* Cluster(Int_t i){ - return (AliITSRawCluster*)(fClusters->At(i));} // Returns the present number of enteries virtual Int_t NClusters()const {return fClusters->GetEntriesFast();} - // returns fNRawClusters - virtual Int_t GetNRawClusters() const {return fNRawClusters;} - // Determins if digit i has a neighbor and if so that neighor index is j. - virtual void AddCluster(Int_t branch,AliITSRawCluster *c); - virtual void AddCluster(Int_t branch,AliITSRawCluster *c, - AliITSRecPoint &rp); - virtual void FillCluster(AliITSRawCluster *,Int_t) {}// fiil cluster - virtual void FillCluster(AliITSRawCluster *cluster) {// fill cluster - FillCluster(cluster,1);} virtual void SetModule(Int_t module){fModule = module;}// Set module number virtual Int_t GetModule()const {return fModule;}// Returns module number - void SetEvent(Int_t event) { fEvent=event; } - virtual void RawdataToClusters(AliRawReader* /*rawReader*/,TClonesArray** /*clusters*/) { - Warning("RawdataToClusters","Method not implemented in this class ");} + void SetEvent(Int_t event) { fEvent=event; } - // - // RecPoints - // Given a cluster of digits, creates the nessesary RecPoint. May also - // do some peak separation. - virtual void CreateRecPoints(TObjArray *,Int_t){}; // Others virtual void SetMap(AliITSMap *m) {fMap=m;}// map AliITSMap* Map(){return fMap;}// map - virtual Int_t GetNperMax() const {return fNperMax;}// returns fNperMax - // returns fDeclusterFlag - virtual Int_t GetDeclusterFlag()const{return fDeclusterFlag;} - // returns fClusterSize - virtual Int_t GetClusterSize() const {return fClusterSize;} virtual Int_t GetNPeaks() const {return fNPeaks;}// returns fNPeaks // virtual Bool_t IsNeighbor(TObjArray *digs,Int_t i,Int_t j[]) const; - virtual void Decluster(AliITSRawCluster *) {}// Decluster - // Set max. Number of cells per local cluster - virtual void SetNperMax(Int_t npermax=3) {fNperMax = npermax;} - //Decluster - virtual void SetDeclusterFlag(Int_t flag=1){fDeclusterFlag=flag;} // Set max. cluster size ; bigger clusters will be rejected - virtual void SetClusterSize(Int_t clsize=3) {fClusterSize = clsize;} - virtual void CalibrateCOG() {}// Self Calibration of COG - virtual void CorrectCOG(){}// correct COG - virtual Bool_t Centered(AliITSRawCluster *) const {return kTRUE;}// cluster - //split by local maxima - virtual void SplitByLocalMaxima(AliITSRawCluster *){} + // IO functions void Print(ostream *os) const; // Class ascii print function void Read(istream *os); // Class ascii read function @@ -161,36 +124,30 @@ class AliITSClusterFinder :public TObject{ static void CheckLabels2(Int_t lab[10]); static void AddLabel(Int_t lab[10], Int_t label); - // data members - Int_t fDebug; //! Debug flag/level - Int_t fModule; //! Module number to be reconstuctted - TClonesArray *fDigits; //! digits - Int_t fNdigits; //! num of digits - - AliITSDetTypeRec* fDetTypeRec; //ITS object for reconstruction - TClonesArray *fClusters; //! Array of clusters - Int_t fNRawClusters; //! in case we split the cluster - // and want to keep track of - // the cluster which was splitted - AliITSMap *fMap; //! map - Int_t fNperMax; //! NperMax - Int_t fDeclusterFlag; //! DeclusterFlag - Int_t fClusterSize; //! ClusterSize - Int_t fNPeaks; //! NPeaks - // Data members needed to fill AliCluster objects - Int_t fNdet[2200]; // detector index - Int_t fNlayer[2200]; // detector layer - - Int_t fNModules; // total number of modules - Int_t fEvent; //event number - - AliITSClusterFinder(const AliITSClusterFinder &source); // copy constructor - // assignment operator - AliITSClusterFinder& operator=(const AliITSClusterFinder &source); - - - ClassDef(AliITSClusterFinder,8) //Class for clustering and reconstruction of space points + // data members + + Int_t fModule; //! Module number to be reconstuctted + TClonesArray *fDigits; //! digits + Int_t fNdigits; //! num of digits + + AliITSDetTypeRec* fDetTypeRec; //ITS object for reconstruction + TClonesArray *fClusters; //! Array of clusters + AliITSMap *fMap; //! map + Int_t fNPeaks; //! NPeaks + // Data members needed to fill AliCluster objects + Int_t fNdet[2200]; // detector index + Int_t fNlayer[2200]; // detector layer + + Int_t fNModules; // total number of modules + Int_t fEvent; //event number + + AliITSClusterFinder(const AliITSClusterFinder &source); // copy constructor + // assignment operator + AliITSClusterFinder& operator=(const AliITSClusterFinder &source); + + + ClassDef(AliITSClusterFinder,9) //Class for clustering and reconstruction of space points }; // Input and output functions for standard C++ input/output. ostream &operator<<(ostream &os,AliITSClusterFinder &source);