ROOT logo
#ifndef ALIITSCLUSTERFINDERV2SSD_H
#define ALIITSCLUSTERFINDERV2SSD_H
/* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

//--------------------------------------------------------------
//                       ITS clusterer V2 for SSD
//
//   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"
#include "AliRefArray.h"

class TClonesArray;
class AliRawReader;
class AliITSRawStream;
class AliITSRawStreamSSD;
class AliITSCalibrationSSD;

class AliITSClusterFinderV2SSD : public AliITSClusterFinder {
public:
  AliITSClusterFinderV2SSD(AliITSDetTypeRec* dettyp);
  virtual ~AliITSClusterFinderV2SSD(){;}
  virtual void FindRawClusters(Int_t mod);
  virtual void RawdataToClusters(AliRawReader* rawReader);
 protected:
  AliITSClusterFinderV2SSD(const AliITSClusterFinderV2SSD& cf);
  AliITSClusterFinderV2SSD& operator=(const AliITSClusterFinderV2SSD&  cf );
  void FindClustersSSD(TClonesArray *digits);
  void FindClustersSSD(const Ali1Dcluster* neg, Int_t nn, 
		       const Ali1Dcluster* pos, Int_t np,
		       TClonesArray *clusters=0x0);

  void FindClustersSSD(AliITSRawStreamSSD* input);
  virtual AliITSCalibrationSSD* GetResp(Int_t mod)const{
    return (AliITSCalibrationSSD*) GetDetTypeRec()->GetCalibrationModel(mod);}

  Int_t fLastSSD1;        //index of the last SSD1 detector   
  Float_t  fLorentzShiftP; // Shift due to ExB on drift N-side @ actual B field, layer 5, units: strip width 
  Float_t  fLorentzShiftN; // Shift due to ExB on drift P-side @ actual B field, layer 5, units: strip width
  AliRefArray fRawIDRef[2];   // storage for rawID -> ClusterID (used in embedding)
  static Short_t* fgPairs;       //array used to build positive-negative pairs
  static Int_t    fgPairsSize;    //actual size of pairs array
  static const Float_t fgkCosmic2008StripShifts[16][9]; // Shifts for 2007/2008 Cosmic data (timing problem)
  static const Float_t fgkThreshold; // threshold for the seed

  ClassDef(AliITSClusterFinderV2SSD,4)  // ITS cluster finder V2 for SDD
};

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