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