]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSClusterFinderSSD.h
Coding violations...
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinderSSD.h
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
6 //#include <TMath.h>
7 #include "AliITSClusterFinder.h"
8 //#include "AliITSsegmentationSSD.h"
9
10 class TArrayI;
11 class AliITSclusterSSD;
12 class AliITSpackageSSD;
13 class AliITSsegmentation;
14 class AliITSsegmentationSSD;
15 class AliITSresponse;
16 class AliITSresponseSSD;
17
18 class AliITSClusterFinderSSD: public AliITSClusterFinder{
19   public:
20     AliITSClusterFinderSSD();
21     AliITSClusterFinderSSD(AliITSsegmentation *seg,AliITSresponse *resp);
22     AliITSClusterFinderSSD(AliITSsegmentation *seg, TClonesArray *digits);
23     virtual ~AliITSClusterFinderSSD();
24     void FindRawClusters(Int_t module);
25
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();} 
32     void      InitReconstruction();
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);
37     AliITSclusterSSD* GetPSideCluster(Int_t idx);
38     AliITSclusterSSD* GetNSideCluster(Int_t idx);
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);
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
72     Double_t          fPitch;         //!Strip pitch
73     Double_t          fTanP;          //!Pside stereo angle tangent
74     Double_t          fTanN;          //!Nside stereo angle tangent
75
76 /*************************************************/
77 /**  parameters for reconstruction            ****/
78 /**  to be tune when slow simulation raliable ****/
79 /*************************************************/
80
81     //Double_t fAlpha1;         //!
82     //Double_t fAlpha2;         //!
83     //Double_t fAlpha3;         //!
84     Double_t fPNsignalRatio;  //!
85     
86     static const Bool_t fgkSIDEP;  //!
87     static const Bool_t fgkSIDEN;  //!
88
89     Int_t fSFF;              //!forward stepping factor 
90     Int_t fSFB;              //!backward stepping factor 
91
92     ClassDef(AliITSClusterFinderSSD,1) //Class for clustering and reconstruction of space points in SSDs 
93
94 };
95
96
97 #endif