Increase speed of SDD cluster finder (F. Prino)
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinderV2SDD.h
CommitLineData
04366a57 1#ifndef ALIITSCLUSTERFINDERV2SDD_H
2#define ALIITSCLUSTERFINDERV2SDD_H
3//--------------------------------------------------------------
4// ITS clusterer V2 for SDD
5//
6// This can be a "wrapping" for the V1 cluster finding classes
7// if compiled with uncommented "#define V1" line
8// in the AliITSclustererV2.cxx file.
9//
10// Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
11//--------------------------------------------------------------
5d2c2f86 12#include "AliITSClusterFinder.h"
5bfe44ce 13#include "AliITSDetTypeRec.h"
04366a57 14
add58ef6 15class TBits;
04366a57 16class TClonesArray;
17class AliRawReader;
18class AliITSRawStream;
5bfe44ce 19class AliITSCalibrationSDD;
20class AliITSsegmentationSDD;
04366a57 21
5d2c2f86 22class AliITSClusterFinderV2SDD : public AliITSClusterFinder {
04366a57 23public:
8ba39da9 24 AliITSClusterFinderV2SDD(AliITSDetTypeRec* dettyp);
add58ef6 25 virtual ~AliITSClusterFinderV2SDD();
04366a57 26 virtual void FindRawClusters(Int_t mod);
27 virtual void RawdataToClusters(AliRawReader* rawReader,TClonesArray** clusters);
a66a0eb6 28
93a93288 29 enum {kHybridsPerDDL = 24}; // number of hybrids in each DDL
de075dae 30 enum {kModulesPerDDL = 12}; // number of modules in each DDL
93a93288 31
04366a57 32 protected:
add58ef6 33 Bool_t NoiseSuppress(Int_t k, Int_t sid, AliBin* bins, AliITSCalibrationSDD* cal) const;
04366a57 34 void FindClustersSDD(TClonesArray *digits);
add58ef6 35 void FindClustersSDD(AliBin* bins[2], TBits* anodeFired[2],
de075dae 36 TClonesArray *dig, TClonesArray *clusters=0x0, Int_t jitter=0);
04366a57 37
38 void FindClustersSDD(AliITSRawStream* input,TClonesArray** clusters);
5bfe44ce 39 virtual AliITSCalibrationSDD* GetResp(Int_t mod)const{
40 return (AliITSCalibrationSDD*) fDetTypeRec->GetCalibrationModel(mod);}
41 virtual AliITSsegmentationSDD* GetSeg()const{
42 return (AliITSsegmentationSDD*)fDetTypeRec->GetSegmentationModel(1);}
43
add58ef6 44 Int_t fNAnodes; // number of anodes
45 Int_t fNTimeBins; // number of time bins
46 Int_t fNZbins; // number of cells along anodes
47 Int_t fNXbins; // number of cells along time
48 AliBin* fDDLBins[kHybridsPerDDL]; // container for digits for 1 DDL
04366a57 49
add58ef6 50 ClassDef(AliITSClusterFinderV2SDD,5) // ITS cluster finder V2 for SDD
04366a57 51};
52
53#endif