ROOT logo
/////////////////////////////////////////////////////////////////////
// Author: Henrik Tydesjo                                          //
//                                                                 //
// This class is used to store Fast-OR noise values in OCDB.       //
// One value per pixel chip.                                       //
// The values are the probability that a pixel chip will generate  //
// a fast-OR signal independently (originating from noise).        //
//                                                                 //
/////////////////////////////////////////////////////////////////////

#include "AliITSFONoiseSPD.h"

AliITSFONoiseSPD::AliITSFONoiseSPD() :
  TObject()
{
  // default constructor, sets all noise values to 0%
  ResetValues();
}
//______________________________________________________________________
AliITSFONoiseSPD::AliITSFONoiseSPD(const AliITSFONoiseSPD& foNoi) :
  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++) {
	fChipNoise[eq][hs][chip] = foNoi.fChipNoise[eq][hs][chip];
      }
    }
  }
}
//______________________________________________________________________
AliITSFONoiseSPD::~AliITSFONoiseSPD() {}
//______________________________________________________________________
void AliITSFONoiseSPD::ResetValues() {
  // set all noise values to 0%
  for (UInt_t eq=0; eq<20; eq++) {
    for (UInt_t hs=0; hs<6; hs++) {
      for (UInt_t chip=0; chip<10; chip++) {
	fChipNoise[eq][hs][chip] = 0;
      }
    }
  }
}
//______________________________________________________________________
AliITSFONoiseSPD& AliITSFONoiseSPD::operator=(const AliITSFONoiseSPD& foNoi) {
  // assignment operator
  if (this!=&foNoi) {
    for (UInt_t eq=0; eq<20; eq++) {
      for (UInt_t hs=0; hs<6; hs++) {
	for (UInt_t chip=0; chip<10; chip++) {
	  fChipNoise[eq][hs][chip] = foNoi.fChipNoise[eq][hs][chip];
	}
      }
    }
  }
  return *this;
}
//______________________________________________________________________
void AliITSFONoiseSPD::SetChipNoise(UInt_t eq, UInt_t hs, UInt_t chip, Float_t value) {
  // set a chip noise value
  if (eq>=20) {
    Error("AliITSFONoiseSPD::SetChipNoise", "eq (%d) out of bounds.",eq);
    return;
  }
  if (hs>=6) {
    Error("AliITSFONoiseSPD::SetChipNoise", "hs (%d) out of bounds.",hs);
    return;
  }
  if (chip>=10) {
    Error("AliITSFONoiseSPD::SetChipNoise", "chip (%d) out of bounds.",chip);
    return;
  }
  
  fChipNoise[eq][hs][chip] = value;
}
//______________________________________________________________________
Float_t AliITSFONoiseSPD::GetChipNoise(UInt_t eq, UInt_t hs, UInt_t chip) const {
  // get a chip noise value
  if (eq>=20) {
    Error("AliITSFONoiseSPD::GetChipNoise", "eq (%d) out of bounds.",eq);
    return 0;
  }
  if (hs>=6) {
    Error("AliITSFONoiseSPD::GetChipNoise", "hs (%d) out of bounds.",hs);
    return 0;
  }
  if (chip>=10) {
    Error("AliITSFONoiseSPD::GetChipNoise", "chip (%d) out of bounds.",chip);
    return 0;
  }

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

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