$Id$
*/
+#include <TArrayI.h>
+
#include "AliITSClusterFinder.h"
+#include "AliITSDetTypeRec.h"
-class AliITSMapA2;
-class AliITSresponse;
-class AliITSresponseSDD;
+// class AliITSMapA2;
+class AliITSCalibration;
+class AliITSCalibrationSDD;
class AliITSsegmentation;
class AliITSsegmentationSDD;
class TFile;
class AliITSClusterFinderSDD : public AliITSClusterFinder{
public:
AliITSClusterFinderSDD
- (AliITSsegmentation *seg,AliITSresponse *response,
+ (AliITSDetTypeRec* dettyp,
TClonesArray *digits,TClonesArray *recpoints);
AliITSClusterFinderSDD();
virtual ~AliITSClusterFinderSDD(){};
- virtual void SetCutAmplitude(Double_t nsigma=4);
- virtual Int_t CutAmplitude() const {// get cut amplitude
- return fCutAmplitude;}
+ virtual void SetCutAmplitude(Int_t mod,Double_t nsigma=4);
+ virtual Int_t CutAmplitude(Int_t anode) const {// get cut amplitude
+ return fCutAmplitude[anode];}
virtual void SetDAnode(Double_t danode=4.2) {// setDAnode
fDAnode=danode;}
virtual Double_t DAnode() const {// get DAnode
void Find1DClustersE();
void GroupClusters();
void SelectClusters();
- void GetRecPoints();
- void ResolveClusters(); // Boris........
- void ResolveClustersE(); // Ernesto
+ void GetRecPoints(AliITSCalibrationSDD* cal);
+ void ResolveClusters(); // Ernesto Lopez Torres
Int_t SearchPeak(Double_t *spect,Int_t xdim,Int_t zdim,Int_t *peakX,
Int_t *peakZ,Double_t *peakAmp,Double_t minpeak);//Ernesto
Int_t NoLinearFit( Int_t xdim, Int_t zdim, Double_t *param, Double_t *spe,
Double_t ChiSqr(Int_t xdim,Int_t zdim,Double_t *spe,Double_t *speFit)const;
void PeakFunc( Int_t xdim, Int_t zdim, Double_t *par, Double_t *spe,
Double_t *Integral=0 );
- void Print() const;
+ void PrintStatus() const;
private:
- virtual AliITSresponseSDD* GetResp()const{
- return (AliITSresponseSDD*) GetResponse();}//Return Response
+ virtual AliITSCalibrationSDD* GetResp(Int_t mod)const{
+ return (AliITSCalibrationSDD*) fDetTypeRec->GetCalibrationModel(mod);}//Return Response
//Returns fSegmentation
virtual AliITSsegmentationSDD* GetSeg()const{
- return (AliITSsegmentationSDD*)GetSegmentation();}
+ return (AliITSsegmentationSDD*)fDetTypeRec->GetSegmentationModel(1);}
AliITSClusterFinderSDD(const AliITSClusterFinderSDD &source); // copy ctor
AliITSClusterFinderSDD& operator=(const AliITSClusterFinderSDD &source);
private:
Int_t fNclusters; //! num of clusters
- Double_t fDAnode; //! fDanode
- Double_t fDTime; //! fDtime
- Double_t fTimeCorr; //! Correction factor along time coord
- Int_t fCutAmplitude; //! cut amplitude
+ Double_t fDAnode; //! fDanode
+ Double_t fDTime; //! fDtime
+ Double_t fTimeCorr; //! Correction factor along time coord
+ TArrayI fCutAmplitude; //! cut amplitude
Int_t fMinPeak; //! min peak
Int_t fMinCharge; //! min charge
Int_t fMinNCells; //! min num of cells
Int_t fMaxNCells; //! max num of cells
- ClassDef(AliITSClusterFinderSDD,2) // SDD clustering - Piergiorgio C. algo
+ ClassDef(AliITSClusterFinderSDD,3) // SDD clustering - Piergiorgio C. algo
};
#endif