Fix for the case of non-existent calibration files
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinderV2SSD.h
1 #ifndef ALIITSCLUSTERFINDERV2SSD_H
2 #define ALIITSCLUSTERFINDERV2SSD_H
3 /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 //--------------------------------------------------------------
9 //                       ITS clusterer V2 for SSD
10 //
11 //   This can be a "wrapping" for the V1 cluster finding classes
12 //   if compiled with uncommented "#define V1" line 
13 //   in the AliITSclustererV2.cxx file.
14 //
15 //   Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch 
16 //--------------------------------------------------------------
17 #include "AliITSClusterFinder.h"
18 #include "AliITSDetTypeRec.h"
19 #include "AliRefArray.h"
20
21 class TClonesArray;
22 class AliRawReader;
23 class AliITSRawStream;
24 class AliITSRawStreamSSD;
25 class AliITSCalibrationSSD;
26
27 class AliITSClusterFinderV2SSD : public AliITSClusterFinder {
28 public:
29   AliITSClusterFinderV2SSD(AliITSDetTypeRec* dettyp);
30   virtual ~AliITSClusterFinderV2SSD(){;}
31   virtual void FindRawClusters(Int_t mod);
32   virtual void RawdataToClusters(AliRawReader* rawReader);
33  protected:
34   AliITSClusterFinderV2SSD(const AliITSClusterFinderV2SSD& cf);
35   AliITSClusterFinderV2SSD& operator=(const AliITSClusterFinderV2SSD&  cf );
36   void FindClustersSSD(TClonesArray *digits);
37   void FindClustersSSD(const Ali1Dcluster* neg, Int_t nn, 
38                        const Ali1Dcluster* pos, Int_t np,
39                        TClonesArray *clusters=0x0);
40
41   void FindClustersSSD(AliITSRawStreamSSD* input);
42   virtual AliITSCalibrationSSD* GetResp(Int_t mod)const{
43     return (AliITSCalibrationSSD*) GetDetTypeRec()->GetCalibrationModel(mod);}
44
45   Int_t fLastSSD1;        //index of the last SSD1 detector   
46   Float_t  fLorentzShiftP; // Shift due to ExB on drift N-side @ actual B field, layer 5, units: strip width 
47   Float_t  fLorentzShiftN; // Shift due to ExB on drift P-side @ actual B field, layer 5, units: strip width
48   AliRefArray fRawIDRef[2];   // storage for rawID -> ClusterID (used in embedding)
49   static Short_t* fgPairs;       //array used to build positive-negative pairs
50   static Int_t    fgPairsSize;    //actual size of pairs array
51   static const Float_t fgkCosmic2008StripShifts[16][9]; // Shifts for 2007/2008 Cosmic data (timing problem)
52   static const Float_t fgkThreshold; // threshold for the seed
53
54   ClassDef(AliITSClusterFinderV2SSD,4)  // ITS cluster finder V2 for SDD
55 };
56
57 #endif