]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSClusterFinderSSD.h
warning added if the method GetITSgeom has to fetch the AliITSgeom pointer from file
[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 */
14a74335 5
aacedc3e 6//#include <TMath.h>
b0f5e3fc 7#include "AliITSClusterFinder.h"
aacedc3e 8//#include "AliITSsegmentationSSD.h"
8ba39da9 9#include "AliITSDetTypeRec.h"
10
eb08b98f 11class TArrayI;
e8189707 12class AliITSclusterSSD;
13class AliITSpackageSSD;
aacedc3e 14class AliITSsegmentation;
15class AliITSsegmentationSSD;
16class AliITSresponse;
17class AliITSresponseSSD;
14a74335 18class AliITSCalibration;
19class AliITSCalibrationSSD;
e8189707 20
fe15e140 21class AliITSClusterFinderSSD: public AliITSClusterFinder{
b0f5e3fc 22
14a74335 23 public:
24 AliITSClusterFinderSSD();
25 AliITSClusterFinderSSD(AliITSDetTypeRec* dettyp);
26 AliITSClusterFinderSSD(AliITSDetTypeRec* dettyp, TClonesArray *digits);
27 // AliITSClusterFinderSSD(AliITSsegmentation *seg, TClonesArray *digits);
28 virtual ~AliITSClusterFinderSSD();
29 void FindRawClusters(Int_t module);
30
31 protected:
aacedc3e 32 virtual AliITSsegmentationSSD* GetSeg()const{
14a74335 33 return (AliITSsegmentationSSD*)fDetTypeRec->GetSegmentationModel(2);}
34 void InitReconstruction();
35 Bool_t CreateNewRecPoint(Float_t P, Float_t dP, Float_t N, Float_t dN,
36 Float_t Sig,Float_t dSig,
37 AliITSclusterSSD *clusterP,
38 AliITSclusterSSD *clusterN,Stat_t prob);
39 AliITSclusterSSD* GetPSideCluster(Int_t idx);
40 AliITSclusterSSD* GetNSideCluster(Int_t idx);
41 AliITSclusterSSD* GetCluster(Int_t idx, Bool_t side);
42 void FindNeighbouringDigits(Int_t module);
43 void SeparateOverlappedClusters();
44 void SplitCluster(TArrayI *list,Int_t nsplits,Int_t indx,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) const;
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);
53 void ClustersToPackages();
54 Int_t GetDiff(Float_t */*retx*/, Float_t */*rety*/) const {return 0;}
55 void CalcStepFactor(Float_t Psteo, Float_t Nsteo );
56 Bool_t GetCrossing(Float_t &x, Float_t &z); //x, y of strips crossing
57 void GetCrossingError(Float_t& dp, Float_t& dn);//x, y of strips crossing err.
58 virtual AliITSCalibrationSSD* GetResp(Int_t mod)const{
59 return (AliITSCalibrationSSD*) fDetTypeRec->GetCalibrationModel(mod);}//Return Response
14a74335 60
61 // Data memebers
62 // AliITS *fITS; //!Pointer to AliITS object
63 TClonesArray *fClusterP; //!
64 Int_t fNClusterP; //!Number of P side clusters in the array
65 TClonesArray *fClusterN; //!Number of N side clusters in the array
66 Int_t fNClusterN; //!
67 TClonesArray *fPackages; //!packages
68 Int_t fNPackages; //!
69 TArrayI *fDigitsIndexP; //!Digits on P side
70 Int_t fNDigitsP; //!Number of Digits on P side
71 TArrayI *fDigitsIndexN; //!Digits on N side
72 Int_t fNDigitsN; //!Number of Digits on N side
73
74 Float_t fPitch; //!Strip pitch
75 Float_t fTanP; //!Pside stereo angle tangent
76 Float_t fTanN; //!Nside stereo angle tangent
77
78 //Float_t **fNoise;
79
80 /*************************************************/
81 /** parameters for reconstruction ****/
82 /** to be tune when slow simulation raliable ****/
83 /*************************************************/
84
85 //Float_t fAlpha1; //!
86 //Float_t fAlpha2; //!
87 //Float_t fAlpha3; //!
88 Float_t fPNsignalRatio; //!
89
90 static const Bool_t fgkSIDEP; //!
91 static const Bool_t fgkSIDEN; //!
92
93 static const Int_t fgkNoiseThreshold; // at least one strip in the cluster has to have a signal > fgkNoiseThresold*noise
94
95 Int_t fSFF; //!forward stepping factor
96 Int_t fSFB; //!backward stepping factor
97
98 ClassDef(AliITSClusterFinderSSD, 1) //Class for clustering and reconstruction of space points in SSDs
99
100 };
101
b0f5e3fc 102
b0f5e3fc 103#endif