]>
Commit | Line | Data |
---|---|---|
b0f5e3fc | 1 | #ifndef ALIITSCLUSTERFINDERSSD_H |
2 | #define ALIITSCLUSTERFINDERSSD_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
aacedc3e | 6 | //#include <TMath.h> |
b0f5e3fc | 7 | #include "AliITSClusterFinder.h" |
aacedc3e | 8 | //#include "AliITSsegmentationSSD.h" |
b0f5e3fc | 9 | |
eb08b98f | 10 | class TArrayI; |
e8189707 | 11 | class AliITSclusterSSD; |
12 | class AliITSpackageSSD; | |
aacedc3e | 13 | class AliITSsegmentation; |
14 | class AliITSsegmentationSSD; | |
15 | class AliITSresponse; | |
16 | class AliITSresponseSSD; | |
e8189707 | 17 | |
fe15e140 | 18 | class AliITSClusterFinderSSD: public AliITSClusterFinder{ |
aacedc3e | 19 | public: |
fe15e140 | 20 | AliITSClusterFinderSSD(); |
aacedc3e | 21 | AliITSClusterFinderSSD(AliITSsegmentation *seg,AliITSresponse *resp); |
fe15e140 | 22 | AliITSClusterFinderSSD(AliITSsegmentation *seg, TClonesArray *digits); |
23 | virtual ~AliITSClusterFinderSSD(); | |
aacedc3e | 24 | void FindRawClusters(Int_t module); |
b0f5e3fc | 25 | |
aacedc3e | 26 | protected: |
27 | virtual AliITSresponseSSD* GetResp()const{ | |
28 | return (AliITSresponseSSD*) GetResponse();}//Return Response | |
29 | //Returns fSegmentation | |
30 | virtual AliITSsegmentationSSD* GetSeg()const{ | |
31 | return (AliITSsegmentationSSD*)GetSegmentation();} | |
fe15e140 | 32 | void InitReconstruction(); |
aacedc3e | 33 | Bool_t CreateNewRecPoint(Double_t P,Double_t dP,Double_t N,Double_t dN, |
34 | Double_t Sig,Double_t dSig, | |
35 | AliITSclusterSSD *clusterP, | |
36 | AliITSclusterSSD *clusterN,Stat_t prob); | |
fe15e140 | 37 | AliITSclusterSSD* GetPSideCluster(Int_t idx); |
38 | AliITSclusterSSD* GetNSideCluster(Int_t idx); | |
aacedc3e | 39 | AliITSclusterSSD* GetCluster(Int_t idx, Bool_t side){ |
40 | return (side) ? GetPSideCluster(idx) : GetNSideCluster(idx);}; | |
41 | void FindNeighbouringDigits(); | |
42 | void SeparateOverlappedClusters(); | |
43 | void SplitCluster(TArrayI *list,Int_t nsplits,Int_t indx,Bool_t side); | |
44 | Int_t SortDigitsP(Int_t start, Int_t end); | |
45 | Int_t SortDigitsN(Int_t start, Int_t end); | |
46 | void FillDigitsIndex(); | |
47 | void SortDigits(); | |
48 | void FillClIndexArrays(Int_t* arrayP, Int_t *arrayN) const; | |
49 | void SortClusters(Int_t* arrayP, Int_t *arrayN); | |
50 | Int_t SortClustersP(Int_t start, Int_t end,Int_t *array); | |
51 | Int_t SortClustersN(Int_t start, Int_t end,Int_t *array); | |
52 | void ClustersToPackages(); | |
53 | Int_t GetDiff(Double_t */*retx*/, Double_t */*rety*/) const {return 0;} | |
54 | void CalcStepFactor(Double_t Psteo, Double_t Nsteo ); | |
55 | Bool_t GetCrossing(Double_t &x, Double_t &z); //x, y of strips crossing | |
56 | //x, y of strips crossing err. | |
57 | void GetCrossingError(Double_t& dp, Double_t& dn); | |
fe15e140 | 58 | |
59 | // Data memebers | |
60 | AliITS *fITS; //!Pointer to AliITS object | |
61 | TClonesArray *fClusterP; //! | |
62 | Int_t fNClusterP; //!Number of P side clusters in the array | |
63 | TClonesArray *fClusterN; //!Number of N side clusters in the array | |
64 | Int_t fNClusterN; //! | |
65 | TClonesArray *fPackages; //!packages | |
66 | Int_t fNPackages; //! | |
67 | TArrayI *fDigitsIndexP; //!Digits on P side | |
68 | Int_t fNDigitsP; //!Number of Digits on P side | |
69 | TArrayI *fDigitsIndexN; //!Digits on N side | |
70 | Int_t fNDigitsN; //!Number of Digits on N side | |
71 | ||
aacedc3e | 72 | Double_t fPitch; //!Strip pitch |
73 | Double_t fTanP; //!Pside stereo angle tangent | |
74 | Double_t fTanN; //!Nside stereo angle tangent | |
b0f5e3fc | 75 | |
76 | /*************************************************/ | |
77 | /** parameters for reconstruction ****/ | |
78 | /** to be tune when slow simulation raliable ****/ | |
fe15e140 | 79 | /*************************************************/ |
e8189707 | 80 | |
aacedc3e | 81 | //Double_t fAlpha1; //! |
82 | //Double_t fAlpha2; //! | |
83 | //Double_t fAlpha3; //! | |
84 | Double_t fPNsignalRatio; //! | |
b0f5e3fc | 85 | |
fe15e140 | 86 | static const Bool_t fgkSIDEP; //! |
87 | static const Bool_t fgkSIDEN; //! | |
be33dccb | 88 | |
fe15e140 | 89 | Int_t fSFF; //!forward stepping factor |
90 | Int_t fSFB; //!backward stepping factor | |
b0f5e3fc | 91 | |
aacedc3e | 92 | ClassDef(AliITSClusterFinderSSD,1) //Class for clustering and reconstruction of space points in SSDs |
b0f5e3fc | 93 | |
94 | }; | |
95 | ||
96 | ||
97 | #endif |