////////////////////////////////////////////////
#include "AliITSClusterFinder.h"
+#include "AliITSDetTypeRec.h"
class AliITSMapA1;
+class AliITSsegmentation;
+class AliITSsegmentationSPD;
+class AliITSresponse;
+class AliITSresponseSPD;
+class TClonesArray;
+
class AliITSClusterFinderSPD : public AliITSClusterFinder{
public:
- AliITSClusterFinderSPD(AliITSsegmentation *segmentation,
- TClonesArray *digits, TClonesArray *recpoints);
AliITSClusterFinderSPD();
- virtual ~AliITSClusterFinderSPD(){// destructor
- }
+ AliITSClusterFinderSPD(AliITSDetTypeRec* dettyp);
+ AliITSClusterFinderSPD(AliITSDetTypeRec* dettyp,
+ TClonesArray *digits,TClonesArray *recpoints);
+ virtual ~AliITSClusterFinderSPD(){}// destructor
+ //Returns fSegmentation
+ virtual AliITSsegmentationSPD* GetSeg()const{
+ return (AliITSsegmentationSPD*)fDetTypeRec->GetSegmentationModel(0);}
+ virtual void SetDx(Double_t dx=1.) {fDx=dx;}// set dx
+ virtual void SetDz(Double_t dz=0.) {fDz=dz;}// set dz
+ // Search for clusters
+ virtual void FindRawClusters(Int_t module);
+ void DigitToPoint(Int_t nclus, Double_t *xcenter, Double_t *zcenter,
+ Double_t *errxcenter,Double_t *errzcenter,
+ Int_t *tr1clus, Int_t *tr2clus, Int_t *tr3clus);
+ void ClusterFinder(Int_t ndigits,Int_t digx[],Int_t digz[],
+ Int_t digtr1[],Int_t digtr2[],Int_t digtr3[],
+ Int_t digtr4[],
+ Int_t &nclus,
+ Double_t xcenter[],Double_t zcenter[],
+ Double_t errxcenter[],Double_t errzcenter[],
+ Int_t tr1clus[],Int_t tr2clus[], Int_t tr3clus[]);
+ protected:
// copy constructor
AliITSClusterFinderSPD(const AliITSClusterFinderSPD &source);
// assignment operator
AliITSClusterFinderSPD& operator=(const AliITSClusterFinderSPD &source);
-
- virtual void SetDx(Float_t dx=1.) {// set dx
- fDx=dx;}
- virtual void SetDz(Float_t dz=0.) {// set dz
- fDz=dz;}
- // Search for clusters
- virtual void FindRawClusters(Int_t module);
- void DigitToPoint(Int_t nclus, Float_t *xcenter, Float_t *zcenter,
- Float_t *errxcenter,Float_t *errzcenter,
- Int_t *tr1clus, Int_t *tr2clus, Int_t *tr3clus);
- void ClusterFinder(Int_t ndigits,Int_t digx[],Int_t digz[],
- Int_t digtr1[],Int_t digtr2[],Int_t digtr3[],
- Int_t digtr4[],
- Int_t &nclus,
- Float_t xcenter[],Float_t zcenter[],
- Float_t errxcenter[],Float_t errzcenter[],
- Int_t tr1clus[],Int_t tr2clus[], Int_t tr3clus[],
- Int_t module);
- private:
- TClonesArray *fClusters; // clusters
- Int_t fNclusters; // num of clusters
- Float_t fDz; // dz
- Float_t fDx; // dx
+
+ Double_t fDz; // dz
+ Double_t fDx; // dx
Int_t fMinNCells; // min num of cells in the cluster
- ClassDef(AliITSClusterFinderSPD,1) // SPD clustering
+ ClassDef(AliITSClusterFinderSPD,2) // SPD clustering
};
#endif