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