X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSClusterFinderSSD.h;h=f45b35e433d7bd0d48b88e95b8359c0c21aec826;hb=989ee4281ee5fbc8a039ce2833bd9fc78adfaed2;hp=85b877d178bba7db5b87591c535fac7632a34423;hpb=fd61217e189959cd86ec8cdf42c5af860041790f;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSClusterFinderSSD.h b/ITS/AliITSClusterFinderSSD.h index 85b877d178b..f45b35e433d 100644 --- a/ITS/AliITSClusterFinderSSD.h +++ b/ITS/AliITSClusterFinderSSD.h @@ -3,108 +3,106 @@ /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ -#include +//#include #include "AliITSClusterFinder.h" +//#include "AliITSsegmentationSSD.h" +#include "AliITSDetTypeRec.h" class TArrayI; class AliITSclusterSSD; class AliITSpackageSSD; +class AliITSsegmentation; +class AliITSsegmentationSSD; +class AliITSresponse; +class AliITSresponseSSD; +class AliITSCalibration; +class AliITSCalibrationSSD; -class AliITSClusterFinderSSD: public AliITSClusterFinder -{ - -public: - - AliITSClusterFinderSSD(AliITSsegmentation *seg, TClonesArray *digits); - - virtual ~AliITSClusterFinderSSD(); +class AliITSClusterFinderSSD: public AliITSClusterFinder{ + public: + AliITSClusterFinderSSD(); + AliITSClusterFinderSSD(AliITSDetTypeRec* dettyp); + AliITSClusterFinderSSD(AliITSDetTypeRec* dettyp, TClonesArray *digits); - void FindRawClusters(); - - /* - void SetAlpha1(Float_t a) {fAlpha1 =a;} - void SetAlpha2(Float_t a) {fAlpha2 =a;} - void SetAlpha3(Float_t a) {fAlpha3 =a;} - */ + // AliITSClusterFinderSSD(AliITSsegmentation *seg, TClonesArray *digits); + virtual ~AliITSClusterFinderSSD(); + void FindRawClusters(Int_t module); + protected: - + + AliITSClusterFinderSSD(const AliITSClusterFinderSSD &source); // Copy constructor + AliITSClusterFinderSSD& operator=(const AliITSClusterFinderSSD &source);// = operator + + virtual AliITSsegmentationSSD* GetSeg()const{ + return (AliITSsegmentationSSD*)fDetTypeRec->GetSegmentationModel(2);} void InitReconstruction(); Bool_t CreateNewRecPoint(Float_t P, Float_t dP, Float_t N, Float_t dN, - Float_t Sig,Float_t dSig, - AliITSclusterSSD *clusterP, AliITSclusterSSD *clusterN, - Stat_t prob); - + Float_t Sig,Float_t dSig, + AliITSclusterSSD *clusterP, + AliITSclusterSSD *clusterN,Stat_t prob); AliITSclusterSSD* GetPSideCluster(Int_t idx); AliITSclusterSSD* GetNSideCluster(Int_t idx); AliITSclusterSSD* GetCluster(Int_t idx, Bool_t side); - - void FindNeighbouringDigits(); + void FindNeighbouringDigits(Int_t module); void SeparateOverlappedClusters(); - void SplitCluster(TArrayI *list, Int_t nsplits, Int_t index, Bool_t side); + void SplitCluster(TArrayI *list,Int_t nsplits,Int_t indx,Bool_t side); Int_t SortDigitsP(Int_t start, Int_t end); Int_t SortDigitsN(Int_t start, Int_t end); void FillDigitsIndex(); void SortDigits(); - void FillClIndexArrays(Int_t* arrayP, Int_t *arrayN); + void FillClIndexArrays(Int_t* arrayP, Int_t *arrayN) const; void SortClusters(Int_t* arrayP, Int_t *arrayN); Int_t SortClustersP(Int_t start, Int_t end,Int_t *array); Int_t SortClustersN(Int_t start, Int_t end,Int_t *array); void ClustersToPackages(); - - Int_t GetDiff(Float_t *retx, Float_t *rety) {return 0;} - + Int_t GetDiff(Float_t */*retx*/, Float_t */*rety*/) const {return 0;} void CalcStepFactor(Float_t Psteo, Float_t Nsteo ); + Bool_t GetCrossing(Float_t &x, Float_t &z); //x, y of strips crossing + void GetCrossingError(Float_t& dp, Float_t& dn);//x, y of strips crossing err. + virtual AliITSCalibrationSSD* GetResp(Int_t mod)const{ + return (AliITSCalibrationSSD*) fDetTypeRec->GetCalibrationModel(mod);}//Return Response - Bool_t GetCrossing(Float_t &x, Float_t &z); //x, y of strips crossing - void GetCrossingError(Float_t&, Float_t&); //x, y of strips crossing errors - // Data memebers - - AliITS *fITS; //!Pointer to AliITS object - - TClonesArray *fClusterP; //! - Int_t fNClusterP; //!Number of P side clusters in the array - - TClonesArray *fClusterN; //!Number of N side clusters in the array - Int_t fNClusterN; //! - - TClonesArray *fPackages; //!packages - Int_t fNPackages; //! - - TArrayI *fDigitsIndexP; //!Digits on P side + // AliITS *fITS; //!Pointer to AliITS object + TClonesArray *fClusterP; //! + Int_t fNClusterP; //!Number of P side clusters in the array + TClonesArray *fClusterN; //!Number of N side clusters in the array + Int_t fNClusterN; //! + TClonesArray *fPackages; //!packages + Int_t fNPackages; //! + TArrayI *fDigitsIndexP; //!Digits on P side Int_t fNDigitsP; //!Number of Digits on P side - TArrayI *fDigitsIndexN; //!Digits on N side Int_t fNDigitsN; //!Number of Digits on N side - - + Float_t fPitch; //!Strip pitch Float_t fTanP; //!Pside stereo angle tangent Float_t fTanN; //!Nside stereo angle tangent - -/*************************************************/ -/** parameters for reconstruction ****/ -/** to be tune when slow simulation raliable ****/ -/*************************************************/ + + //Float_t **fNoise; + + /*************************************************/ + /** parameters for reconstruction ****/ + /** to be tune when slow simulation raliable ****/ + /*************************************************/ //Float_t fAlpha1; //! //Float_t fAlpha2; //! //Float_t fAlpha3; //! Float_t fPNsignalRatio; //! - - + static const Bool_t fgkSIDEP; //! static const Bool_t fgkSIDEN; //! - - + + static const Int_t fgkNoiseThreshold; // at least one strip in the cluster has to have a signal > fgkNoiseThresold*noise + Int_t fSFF; //!forward stepping factor Int_t fSFB; //!backward stepping factor - -public: - ClassDef(AliITSClusterFinderSSD, 1) //Class for clustering and reconstruction of space points in SSDs - -}; - - + + ClassDef(AliITSClusterFinderSSD, 1) //Class for clustering and reconstruction of space points in SSDs + + }; + + #endif