]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSClusterFinderSSD.h
Updated version from Boris Batyunya
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinderSSD.h
CommitLineData
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"
8
eb08b98f 9class TArrayI;
e8189707 10class AliITSclusterSSD;
11class AliITSpackageSSD;
12
b0f5e3fc 13class AliITSClusterFinderSSD: public AliITSClusterFinder
14{
15
16public:
17
eb08b98f 18 AliITSClusterFinderSSD(AliITSsegmentation *seg, TClonesArray *digits);
b0f5e3fc 19
20 virtual ~AliITSClusterFinderSSD();
21
22
fd61217e 23 void FindRawClusters();
b0f5e3fc 24
fd61217e 25 /*
766ef0c8 26 void SetAlpha1(Float_t a) {fAlpha1 =a;}
27 void SetAlpha2(Float_t a) {fAlpha2 =a;}
28 void SetAlpha3(Float_t a) {fAlpha3 =a;}
fd61217e 29 */
b0f5e3fc 30 protected:
31
32 void InitReconstruction();
33 Bool_t CreateNewRecPoint(Float_t P, Float_t dP, Float_t N, Float_t dN,
34 Float_t Sig,Float_t dSig,
35 AliITSclusterSSD *clusterP, AliITSclusterSSD *clusterN,
36 Stat_t prob);
b0f5e3fc 37
38 AliITSclusterSSD* GetPSideCluster(Int_t idx);
39 AliITSclusterSSD* GetNSideCluster(Int_t idx);
40 AliITSclusterSSD* GetCluster(Int_t idx, Bool_t side);
41
b0f5e3fc 42 void FindNeighbouringDigits();
43 void SeparateOverlappedClusters();
44 void SplitCluster(TArrayI *list, Int_t nsplits, Int_t index, Bool_t side);
45 Int_t SortDigitsP(Int_t start, Int_t end);
46 Int_t SortDigitsN(Int_t start, Int_t end);
47 void FillDigitsIndex();
48 void SortDigits();
49 void FillClIndexArrays(Int_t* arrayP, Int_t *arrayN);
50 void SortClusters(Int_t* arrayP, Int_t *arrayN);
51 Int_t SortClustersP(Int_t start, Int_t end,Int_t *array);
52 Int_t SortClustersN(Int_t start, Int_t end,Int_t *array);
b0f5e3fc 53 void ClustersToPackages();
b0f5e3fc 54
55 Int_t GetDiff(Float_t *retx, Float_t *rety) {return 0;}
56
57 void CalcStepFactor(Float_t Psteo, Float_t Nsteo );
58
b0f5e3fc 59 Bool_t GetCrossing(Float_t &x, Float_t &z); //x, y of strips crossing
60 void GetCrossingError(Float_t&, Float_t&); //x, y of strips crossing errors
61
62 // Data memebers
63
46019b87 64 AliITS *fITS; //!Pointer to AliITS object
b0f5e3fc 65
46019b87 66 TClonesArray *fClusterP; //!
67 Int_t fNClusterP; //!Number of P side clusters in the array
b0f5e3fc 68
46019b87 69 TClonesArray *fClusterN; //!Number of N side clusters in the array
70 Int_t fNClusterN; //!
b0f5e3fc 71
46019b87 72 TClonesArray *fPackages; //!packages
73 Int_t fNPackages; //!
b0f5e3fc 74
46019b87 75 TArrayI *fDigitsIndexP; //!Digits on P side
76 Int_t fNDigitsP; //!Number of Digits on P side
b0f5e3fc 77
46019b87 78 TArrayI *fDigitsIndexN; //!Digits on N side
79 Int_t fNDigitsN; //!Number of Digits on N side
b0f5e3fc 80
81
46019b87 82 Float_t fPitch; //!Strip pitch
83 Float_t fTanP; //!Pside stereo angle tangent
84 Float_t fTanN; //!Nside stereo angle tangent
b0f5e3fc 85
86/*************************************************/
87/** parameters for reconstruction ****/
88/** to be tune when slow simulation raliable ****/
89/*************************************************/
90
fd61217e 91 //Float_t fAlpha1; //!
92 //Float_t fAlpha2; //!
93 //Float_t fAlpha3; //!
46019b87 94 Float_t fPNsignalRatio; //!
e8189707 95
b0f5e3fc 96
46019b87 97 static const Bool_t fgkSIDEP; //!
98 static const Bool_t fgkSIDEN; //!
f1c1b286 99
be33dccb 100
46019b87 101 Int_t fSFF; //!forward stepping factor
102 Int_t fSFB; //!backward stepping factor
b0f5e3fc 103
104public:
105 ClassDef(AliITSClusterFinderSSD, 1) //Class for clustering and reconstruction of space points in SSDs
106
107};
108
109
110#endif