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

/* $Id$ */
//#include "TRandom.h"
#include "AliITSCalibration.h"
#include "TArrayS.h"

////////////////////////////////////////////////////
//                                                //
// ITS response class for SPD                     //
////////////////////////////////////////////////////
class AliITSCalibrationSPD :  public AliITSCalibration {
 public:
    AliITSCalibrationSPD(); // default constructor
    virtual ~AliITSCalibrationSPD() {;} // destructror

    virtual void   ClearBad();

    virtual Int_t  GetNrBad() const;
    virtual Int_t  GetNrBadInChip(Int_t chip) const;
    virtual Int_t  GetNrBadInColumn(Int_t col) const;

    virtual Int_t  GetBadColAt(UInt_t index) const;
    virtual Int_t  GetBadRowAt(UInt_t index) const;
    virtual void   GetBadPixel(Int_t index, Int_t &row, Int_t &col) const;

    virtual Int_t  GetNrBadSingle() const {return fNrBad;}
    virtual void   SetNrBadSingle(UInt_t nr) {fNrBad=nr;} // used to be called SetNrBad, but misleading
    virtual void   SetBadList(TArrayS badlist) {fBadChannels=badlist;}
    virtual void   SetNrBad(UInt_t /*nr*/); // Use SetNrBadSingle!!!

    virtual Bool_t IsBad() const;
    virtual Bool_t IsChipBad(Int_t chip) const;
    virtual Bool_t IsColumnBad(Int_t col) const;
    virtual Bool_t IsPixelBad(Int_t col, Int_t row) const;

    virtual void   SetChipBad(UInt_t chip);
    virtual void   UnSetChipBad(UInt_t chip);

    virtual void   AddBad(UInt_t col, UInt_t row);

    virtual Int_t  GetChipIndexFromCol(UInt_t col) const;
    //    virtual Int_t  GetChipFromChipIndex(UInt_t index) const;

    virtual void    GiveCompressParam(Int_t *) const
      {NotImplemented("GiveCompressParam");}
    virtual  void   SetDetParam(Double_t *)
      {NotImplemented("SetDetParam");}
    virtual void   GetDetParam(Double_t *) const 
      {NotImplemented("GetDetParam");}
    virtual  void   SetNDetParam(Int_t /* n */)
      {NotImplemented("SetNDetParam");}
    virtual Int_t  NDetParam() const
      {NotImplemented("NDetParam"); return 0;}
    virtual void    SetSigmaSpread(Double_t, Double_t) 
      {NotImplemented("SetSigmaSpread");}
    virtual void    SigmaSpread(Double_t & /* p1 */,Double_t & /* p2 */) const 
      {NotImplemented("SigmaSpread");}

 protected:
    UInt_t   fNrBad;           // Nr of SINGLE bad pixels
    TArrayS  fBadChannels;     // Array with bad channels info (col0,row0,col1...rowN) N = fNrBad
    Bool_t   fBadChip[5];      // Is chip completely dead?

    ClassDef(AliITSCalibrationSPD,8) // SPD response
};

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