ROOT logo
/////////////////////////////////////////////////////////////////////
// Author: Henrik Tydesjo                                          //
//                                                                 //
// This class is used to store Fast-OR efficiency values in OCDB.  //
// One value per pixel chip column in this daughter class.         //
// The values are the probability that a pixel hit will generate a //
// fast-OR signal.                                                 //
//                                                                 //
/////////////////////////////////////////////////////////////////////

#include "AliITSFOEfficiencySPDColumn.h"

AliITSFOEfficiencySPDColumn::AliITSFOEfficiencySPDColumn() : 
  AliITSFOEfficiencySPD() 
{
  // default constructor, sets all efficiency values to 100%
  ResetValues();
}
//______________________________________________________________________
AliITSFOEfficiencySPDColumn::AliITSFOEfficiencySPDColumn(const AliITSFOEfficiencySPDColumn& foEff) :
  AliITSFOEfficiencySPD()
{  
  // 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++) {
	for (UInt_t col=0; col<32; col++) {
	  fColumnEfficiency[eq][hs][chip][col] = foEff.fColumnEfficiency[eq][hs][chip][col];
	}
      }
    }
  }
}
//______________________________________________________________________
AliITSFOEfficiencySPDColumn::~AliITSFOEfficiencySPDColumn() {}
//______________________________________________________________________
AliITSFOEfficiencySPDColumn& AliITSFOEfficiencySPDColumn::operator=(const AliITSFOEfficiencySPDColumn& 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++) {
	  for (UInt_t col=0; col<32; col++) {
	    fColumnEfficiency[eq][hs][chip][col] = foEff.fColumnEfficiency[eq][hs][chip][col];
	  }
	}
      }
    }
  }
  return *this;
}
//______________________________________________________________________
void AliITSFOEfficiencySPDColumn::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++) {
	for (UInt_t col=0; col<32; col++) {
	  fColumnEfficiency[eq][hs][chip][col] = 1;
	}
      }
    }
  }
}
//______________________________________________________________________
void AliITSFOEfficiencySPDColumn::SetColumnEfficiency(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, Float_t value) {
  // set a column efficiency value
  if (eq>=20) {
    Error("AliITSFOEfficiencySPDColumn::SetColumnEfficiency", "eq (%d) out of bounds.",eq);
    return;
  }
  if (hs>=6) {
    Error("AliITSFOEfficiencySPDColumn::SetColumnEfficiency", "hs (%d) out of bounds.",hs);
    return;
  }
  if (chip>=10) {
    Error("AliITSFOEfficiencySPDColumn::SetColumnEfficiency", "chip (%d) out of bounds.",chip);
    return;
  }
  if (col>=32) {
    Error("AliITSFOEfficiencySPDColumn::SetColumnEfficiency", "col (%d) out of bounds.",col);
    return;
  }

  fColumnEfficiency[eq][hs][chip][col] = value;
}
//______________________________________________________________________
Float_t AliITSFOEfficiencySPDColumn::GetColumnEfficiency(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col) const {
  // get a column efficiency value
  if (eq>=20) {
    Error("AliITSFOEfficiencySPDColumn::GetEfficiency", "eq (%d) out of bounds.",eq);
    return 0;
  }
  if (hs>=6) {
    Error("AliITSFOEfficiencySPDColumn::GetEfficiency", "hs (%d) out of bounds.",hs);
    return 0;
  }
  if (chip>=10) {
    Error("AliITSFOEfficiencySPDColumn::GetEfficiency", "chip (%d) out of bounds.",chip);
    return 0;
  }
  if (col>=32) {
    Error("AliITSFOEfficiencySPDColumn::GetEfficiency", "col (%d) out of bounds.",col);
    return 0;
  }

  return fColumnEfficiency[eq][hs][chip][col];
}

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