ROOT logo
/////////////////////////////////////////////////////////////////////
// Author: Henrik Tydesjo                                          //
//                                                                 //
// This class is used to store Fast-OR efficiency values in OCDB.  //
// One value per pixel chip in this base class (if per column      //
// accuracy is needed, use AliITSFOEfficiencySPDColumn class).     //
// The values are the probability that a pixel hit will generate a //
// fast-OR signal.                                                 //
//                                                                 //
/////////////////////////////////////////////////////////////////////

#include "AliITSFOEfficiencySPD.h"

AliITSFOEfficiencySPD::AliITSFOEfficiencySPD() :
  TObject()
{
  // default constructor, puts all efficiency values to 100%
  ResetValues();
}
//______________________________________________________________________
AliITSFOEfficiencySPD::AliITSFOEfficiencySPD(const AliITSFOEfficiencySPD& foEff) :
  TObject() 
{  
  // copy constructor, copy the array values from input object
  for (UInt_t eq=0; eq<20; eq++) {
    for (UInt_t hs=0; hs<6; hs++) {
      for (UInt_t chip=0; chip<10; chip++) {
	fChipEfficiency[eq][hs][chip] = foEff.fChipEfficiency[eq][hs][chip];
      }
    }
  }
}
//______________________________________________________________________
AliITSFOEfficiencySPD::~AliITSFOEfficiencySPD() {}
//______________________________________________________________________
void AliITSFOEfficiencySPD::ResetValues() {
  // Set all efficiency values to 100%
  for (UInt_t eq=0; eq<20; eq++) {
    for (UInt_t hs=0; hs<6; hs++) {
      for (UInt_t chip=0; chip<10; chip++) {
	fChipEfficiency[eq][hs][chip] = 1;
      }
    }
  }
}
//______________________________________________________________________
AliITSFOEfficiencySPD& AliITSFOEfficiencySPD::operator=(const AliITSFOEfficiencySPD& foEff) {
  // assignment operator
  if (this!=&foEff) {
    for (UInt_t eq=0; eq<20; eq++) {
      for (UInt_t hs=0; hs<6; hs++) {
	for (UInt_t chip=0; chip<10; chip++) {
	  fChipEfficiency[eq][hs][chip] = foEff.fChipEfficiency[eq][hs][chip];
	}
      }
    }
  }
  return *this;
}
//______________________________________________________________________
void AliITSFOEfficiencySPD::SetChipEfficiency(UInt_t eq, UInt_t hs, UInt_t chip, Float_t value) {
  // set a chip efficiency value
  if (eq>=20) {
    Error("AliITSFOEfficiencySPD::SetChipEfficiency", "eq (%d) out of bounds.",eq);
    return;
  }
  if (hs>=6) {
    Error("AliITSFOEfficiencySPD::SetChipEfficiency", "hs (%d) out of bounds.",hs);
    return;
  }
  if (chip>=10) {
    Error("AliITSFOEfficiencySPD::SetChipEfficiency", "chip (%d) out of bounds.",chip);
    return;
  }
  
  fChipEfficiency[eq][hs][chip] = value;
}
//______________________________________________________________________
Float_t AliITSFOEfficiencySPD::GetChipEfficiency(UInt_t eq, UInt_t hs, UInt_t chip) const {
  // get a chip efficiency value
  if (eq>=20) {
    Error("AliITSFOEfficiencySPD::GetChipEfficiency", "eq (%d) out of bounds.",eq);
    return 0;
  }
  if (hs>=6) {
    Error("AliITSFOEfficiencySPD::GetChipEfficiency", "hs (%d) out of bounds.",hs);
    return 0;
  }
  if (chip>=10) {
    Error("AliITSFOEfficiencySPD::GetChipEfficiency", "chip (%d) out of bounds.",chip);
    return 0;
  }

  return fChipEfficiency[eq][hs][chip];
}

 AliITSFOEfficiencySPD.cxx:1
 AliITSFOEfficiencySPD.cxx:2
 AliITSFOEfficiencySPD.cxx:3
 AliITSFOEfficiencySPD.cxx:4
 AliITSFOEfficiencySPD.cxx:5
 AliITSFOEfficiencySPD.cxx:6
 AliITSFOEfficiencySPD.cxx:7
 AliITSFOEfficiencySPD.cxx:8
 AliITSFOEfficiencySPD.cxx:9
 AliITSFOEfficiencySPD.cxx:10
 AliITSFOEfficiencySPD.cxx:11
 AliITSFOEfficiencySPD.cxx:12
 AliITSFOEfficiencySPD.cxx:13
 AliITSFOEfficiencySPD.cxx:14
 AliITSFOEfficiencySPD.cxx:15
 AliITSFOEfficiencySPD.cxx:16
 AliITSFOEfficiencySPD.cxx:17
 AliITSFOEfficiencySPD.cxx:18
 AliITSFOEfficiencySPD.cxx:19
 AliITSFOEfficiencySPD.cxx:20
 AliITSFOEfficiencySPD.cxx:21
 AliITSFOEfficiencySPD.cxx:22
 AliITSFOEfficiencySPD.cxx:23
 AliITSFOEfficiencySPD.cxx:24
 AliITSFOEfficiencySPD.cxx:25
 AliITSFOEfficiencySPD.cxx:26
 AliITSFOEfficiencySPD.cxx:27
 AliITSFOEfficiencySPD.cxx:28
 AliITSFOEfficiencySPD.cxx:29
 AliITSFOEfficiencySPD.cxx:30
 AliITSFOEfficiencySPD.cxx:31
 AliITSFOEfficiencySPD.cxx:32
 AliITSFOEfficiencySPD.cxx:33
 AliITSFOEfficiencySPD.cxx:34
 AliITSFOEfficiencySPD.cxx:35
 AliITSFOEfficiencySPD.cxx:36
 AliITSFOEfficiencySPD.cxx:37
 AliITSFOEfficiencySPD.cxx:38
 AliITSFOEfficiencySPD.cxx:39
 AliITSFOEfficiencySPD.cxx:40
 AliITSFOEfficiencySPD.cxx:41
 AliITSFOEfficiencySPD.cxx:42
 AliITSFOEfficiencySPD.cxx:43
 AliITSFOEfficiencySPD.cxx:44
 AliITSFOEfficiencySPD.cxx:45
 AliITSFOEfficiencySPD.cxx:46
 AliITSFOEfficiencySPD.cxx:47
 AliITSFOEfficiencySPD.cxx:48
 AliITSFOEfficiencySPD.cxx:49
 AliITSFOEfficiencySPD.cxx:50
 AliITSFOEfficiencySPD.cxx:51
 AliITSFOEfficiencySPD.cxx:52
 AliITSFOEfficiencySPD.cxx:53
 AliITSFOEfficiencySPD.cxx:54
 AliITSFOEfficiencySPD.cxx:55
 AliITSFOEfficiencySPD.cxx:56
 AliITSFOEfficiencySPD.cxx:57
 AliITSFOEfficiencySPD.cxx:58
 AliITSFOEfficiencySPD.cxx:59
 AliITSFOEfficiencySPD.cxx:60
 AliITSFOEfficiencySPD.cxx:61
 AliITSFOEfficiencySPD.cxx:62
 AliITSFOEfficiencySPD.cxx:63
 AliITSFOEfficiencySPD.cxx:64
 AliITSFOEfficiencySPD.cxx:65
 AliITSFOEfficiencySPD.cxx:66
 AliITSFOEfficiencySPD.cxx:67
 AliITSFOEfficiencySPD.cxx:68
 AliITSFOEfficiencySPD.cxx:69
 AliITSFOEfficiencySPD.cxx:70
 AliITSFOEfficiencySPD.cxx:71
 AliITSFOEfficiencySPD.cxx:72
 AliITSFOEfficiencySPD.cxx:73
 AliITSFOEfficiencySPD.cxx:74
 AliITSFOEfficiencySPD.cxx:75
 AliITSFOEfficiencySPD.cxx:76
 AliITSFOEfficiencySPD.cxx:77
 AliITSFOEfficiencySPD.cxx:78
 AliITSFOEfficiencySPD.cxx:79
 AliITSFOEfficiencySPD.cxx:80
 AliITSFOEfficiencySPD.cxx:81
 AliITSFOEfficiencySPD.cxx:82
 AliITSFOEfficiencySPD.cxx:83
 AliITSFOEfficiencySPD.cxx:84
 AliITSFOEfficiencySPD.cxx:85
 AliITSFOEfficiencySPD.cxx:86
 AliITSFOEfficiencySPD.cxx:87
 AliITSFOEfficiencySPD.cxx:88
 AliITSFOEfficiencySPD.cxx:89
 AliITSFOEfficiencySPD.cxx:90
 AliITSFOEfficiencySPD.cxx:91
 AliITSFOEfficiencySPD.cxx:92
 AliITSFOEfficiencySPD.cxx:93
 AliITSFOEfficiencySPD.cxx:94
 AliITSFOEfficiencySPD.cxx:95
 AliITSFOEfficiencySPD.cxx:96