ROOT logo
#ifndef ALIITSCLUSTERFINDERV2SDD_H
#define ALIITSCLUSTERFINDERV2SDD_H
//--------------------------------------------------------------
//                       ITS clusterer V2 for SDD
//
//   This can be a "wrapping" for the V1 cluster finding classes
//   if compiled with uncommented "#define V1" line 
//   in the AliITSclustererV2.cxx file.
//
//   Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch 
//--------------------------------------------------------------
#include "AliITSClusterFinder.h"
#include "AliITSDetTypeRec.h"

class TBits;
class TClonesArray;
class AliRawReader;
class AliITSRawStream;
class AliITSCalibrationSDD;
class AliITSsegmentationSDD;

class AliITSClusterFinderV2SDD : public AliITSClusterFinder {
public:
  AliITSClusterFinderV2SDD(AliITSDetTypeRec* dettyp);
  virtual ~AliITSClusterFinderV2SDD();
  virtual void FindRawClusters(Int_t mod);
  virtual void RawdataToClusters(AliRawReader* rawReader);
  void SetPeakSelection(Float_t looseCut=15., Float_t tightCut=30., Float_t maxTime=2000.){
    fCutOnPeakLoose=looseCut;
    fCutOnPeakTight=tightCut;
    fMaxDrTimeForTightCut=maxTime;
  }

  enum {kHybridsPerDDL = 24};   // number of hybrids in each DDL 
  enum {kModulesPerDDL = 12};   // number of modules in each DDL 

 protected:
 AliITSClusterFinderV2SDD(const AliITSClusterFinderV2SDD &source); // copy constructor
  // assignment operator
  AliITSClusterFinderV2SDD& operator=(const AliITSClusterFinderV2SDD &source);
  Bool_t NoiseSuppress(Int_t k, Int_t sid, AliBin* bins, const AliITSCalibrationSDD* cal) const;
  void FindClustersSDD(TClonesArray *digits);
  void FindClustersSDD(AliBin* bins[2], TBits* anodeFired[2],
		       TClonesArray *dig, TClonesArray *clusters=0x0, Int_t jitter=0);

  void FindClustersSDD(AliITSRawStream* input);
  virtual AliITSCalibrationSDD* GetResp(Int_t mod)const{
    return (AliITSCalibrationSDD*) fDetTypeRec->GetCalibrationModel(mod);}
  virtual AliITSsegmentationSDD* GetSeg()const{
    return (AliITSsegmentationSDD*)fDetTypeRec->GetSegmentationModel(1);} 

  Int_t fNAnodes;                   // number of anodes
  Int_t fNTimeBins;                 // number of time bins
  Int_t fNZbins;                    // number of cells along anodes
  Int_t fNXbins;                    // number of cells along time
  AliBin* fDDLBins[kHybridsPerDDL]; // container for digits for 1 DDL
  Float_t fCutOnPeakLoose;          // loose cut on peak (for all drift times)
  Float_t fCutOnPeakTight;          // tight cut on peak (for small drift times)
  Float_t fMaxDrTimeForTightCut;    // max. drift time for fCutOnPeakTight

  ClassDef(AliITSClusterFinderV2SDD,6)  // ITS cluster finder V2 for SDD
};

#endif
 AliITSClusterFinderV2SDD.h:1
 AliITSClusterFinderV2SDD.h:2
 AliITSClusterFinderV2SDD.h:3
 AliITSClusterFinderV2SDD.h:4
 AliITSClusterFinderV2SDD.h:5
 AliITSClusterFinderV2SDD.h:6
 AliITSClusterFinderV2SDD.h:7
 AliITSClusterFinderV2SDD.h:8
 AliITSClusterFinderV2SDD.h:9
 AliITSClusterFinderV2SDD.h:10
 AliITSClusterFinderV2SDD.h:11
 AliITSClusterFinderV2SDD.h:12
 AliITSClusterFinderV2SDD.h:13
 AliITSClusterFinderV2SDD.h:14
 AliITSClusterFinderV2SDD.h:15
 AliITSClusterFinderV2SDD.h:16
 AliITSClusterFinderV2SDD.h:17
 AliITSClusterFinderV2SDD.h:18
 AliITSClusterFinderV2SDD.h:19
 AliITSClusterFinderV2SDD.h:20
 AliITSClusterFinderV2SDD.h:21
 AliITSClusterFinderV2SDD.h:22
 AliITSClusterFinderV2SDD.h:23
 AliITSClusterFinderV2SDD.h:24
 AliITSClusterFinderV2SDD.h:25
 AliITSClusterFinderV2SDD.h:26
 AliITSClusterFinderV2SDD.h:27
 AliITSClusterFinderV2SDD.h:28
 AliITSClusterFinderV2SDD.h:29
 AliITSClusterFinderV2SDD.h:30
 AliITSClusterFinderV2SDD.h:31
 AliITSClusterFinderV2SDD.h:32
 AliITSClusterFinderV2SDD.h:33
 AliITSClusterFinderV2SDD.h:34
 AliITSClusterFinderV2SDD.h:35
 AliITSClusterFinderV2SDD.h:36
 AliITSClusterFinderV2SDD.h:37
 AliITSClusterFinderV2SDD.h:38
 AliITSClusterFinderV2SDD.h:39
 AliITSClusterFinderV2SDD.h:40
 AliITSClusterFinderV2SDD.h:41
 AliITSClusterFinderV2SDD.h:42
 AliITSClusterFinderV2SDD.h:43
 AliITSClusterFinderV2SDD.h:44
 AliITSClusterFinderV2SDD.h:45
 AliITSClusterFinderV2SDD.h:46
 AliITSClusterFinderV2SDD.h:47
 AliITSClusterFinderV2SDD.h:48
 AliITSClusterFinderV2SDD.h:49
 AliITSClusterFinderV2SDD.h:50
 AliITSClusterFinderV2SDD.h:51
 AliITSClusterFinderV2SDD.h:52
 AliITSClusterFinderV2SDD.h:53
 AliITSClusterFinderV2SDD.h:54
 AliITSClusterFinderV2SDD.h:55
 AliITSClusterFinderV2SDD.h:56
 AliITSClusterFinderV2SDD.h:57
 AliITSClusterFinderV2SDD.h:58
 AliITSClusterFinderV2SDD.h:59
 AliITSClusterFinderV2SDD.h:60
 AliITSClusterFinderV2SDD.h:61
 AliITSClusterFinderV2SDD.h:62
 AliITSClusterFinderV2SDD.h:63
 AliITSClusterFinderV2SDD.h:64