-//---------------------------------------------------------------
-class AliITSClusterFinder :public TObject
-{
-public:
-
- AliITSClusterFinder(AliITSsegmentation *seg, AliITSresponse *resp, TClonesArray *digits);
- AliITSClusterFinder();
- virtual ~AliITSClusterFinder(){
- // destructor
- }
- AliITSClusterFinder(const AliITSClusterFinder &source); // copy constructor
- AliITSClusterFinder& operator=(const AliITSClusterFinder &source); // assignment operator
+//----------------------------------------------------------------------
+class AliITSClusterFinder :public TObject{
+ public:
+ AliITSClusterFinder(); // Default constructor
+ // Standard Constructor
+ AliITSClusterFinder(AliITSDetTypeRec* dettyp);
+ AliITSClusterFinder(AliITSDetTypeRec* dettyp,TClonesArray *digits);// Standard+ Constructor
+ 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;}
+ // Digit
+ virtual void SetDigits(TClonesArray *itsDigits) {// set digits
+ fDigits=itsDigits;fNdigits = fDigits->GetEntriesFast();}
+ virtual AliITSdigit* GetDigit(Int_t i){ // Returns ith digit
+ 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();}
+ // 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);}