ROOT logo
/////////////////////////////////////////////////////////////////
// Author: Henrik Tydesjo                                      //
// This class is used as a container online.                   //
// It holds information needed for a scan.                     //
// This class should only be used through the interface of the //
// AliITSOnlineSPDscan class.                                  //
/////////////////////////////////////////////////////////////////

#include "AliITSOnlineSPDscanInfo.h"

ClassImp(AliITSOnlineSPDscanInfo)

AliITSOnlineSPDscanInfo::AliITSOnlineSPDscanInfo(): 
  fType(999),
  fDataFormat(999),
  fRunNr(0),
  fRouterNr(999),
  fNSteps(0),
  fTriggers(0),
  fRowStart(0),
  fRowEnd(255),
  fDacStep(1),
  fDacStart(0),
  fDacEnd(255),
  fDCSVersion(0)
{
  ClearThis();
}

AliITSOnlineSPDscanInfo::~AliITSOnlineSPDscanInfo() {
}

void AliITSOnlineSPDscanInfo::ClearThis() {
  // reset all values for this object
  fNSteps=0;
  fTriggers=0;
  fType=999;
  fRunNr=0;
  fRouterNr=999;
  fRowStart=0;
  fRowEnd=255;
  for (Int_t hs=0; hs<6; hs++) {
    fHalfStaveScanned[hs]=kFALSE;
  }
  for (Int_t i=0; i<10; i++) {
    fChipPresent[i]=kTRUE;
  }
}

UInt_t AliITSOnlineSPDscanInfo::AddScanStep() {
  // add a new scan step, allocate space for TArrayI
  fNSteps++;
  fTriggers.Set(fNSteps);
  fTriggers.AddAt(0, fNSteps-1);
  return fNSteps-1;
}
void AliITSOnlineSPDscanInfo::IncrementTriggers(UInt_t nsi) {
  // increment the nr of triggers for step nsi
  if (nsi<fNSteps) {
    fTriggers.AddAt(GetTriggers(nsi)+1,nsi);
  }
}
void AliITSOnlineSPDscanInfo::SetTriggers(UInt_t nsi, UInt_t val) {
  // set the nr of triggers for step nsi
  if (nsi<fNSteps) {
    fTriggers.AddAt(val,nsi);
  }
}
UInt_t AliITSOnlineSPDscanInfo::GetTriggers(UInt_t nsi) const {
  // get the nr of triggers for step nsi
  if (nsi<fNSteps) return fTriggers.At(nsi);
  else return 0;
}
void AliITSOnlineSPDscanInfo::SetHalfStaveScanned(UInt_t val, Bool_t b) {
  // set half stave scanned
  if (val<6) {
    fHalfStaveScanned[val]=b;
  }
}
Bool_t AliITSOnlineSPDscanInfo::GetHalfStaveScanned(UInt_t val) {
  // set half stave scanned
  if (val<6) {
    return fHalfStaveScanned[val];
  }
  else {
    printf("hs requested is out of range (hs=%d)\n",val);
    return kFALSE;
  }
}
 AliITSOnlineSPDscanInfo.cxx:1
 AliITSOnlineSPDscanInfo.cxx:2
 AliITSOnlineSPDscanInfo.cxx:3
 AliITSOnlineSPDscanInfo.cxx:4
 AliITSOnlineSPDscanInfo.cxx:5
 AliITSOnlineSPDscanInfo.cxx:6
 AliITSOnlineSPDscanInfo.cxx:7
 AliITSOnlineSPDscanInfo.cxx:8
 AliITSOnlineSPDscanInfo.cxx:9
 AliITSOnlineSPDscanInfo.cxx:10
 AliITSOnlineSPDscanInfo.cxx:11
 AliITSOnlineSPDscanInfo.cxx:12
 AliITSOnlineSPDscanInfo.cxx:13
 AliITSOnlineSPDscanInfo.cxx:14
 AliITSOnlineSPDscanInfo.cxx:15
 AliITSOnlineSPDscanInfo.cxx:16
 AliITSOnlineSPDscanInfo.cxx:17
 AliITSOnlineSPDscanInfo.cxx:18
 AliITSOnlineSPDscanInfo.cxx:19
 AliITSOnlineSPDscanInfo.cxx:20
 AliITSOnlineSPDscanInfo.cxx:21
 AliITSOnlineSPDscanInfo.cxx:22
 AliITSOnlineSPDscanInfo.cxx:23
 AliITSOnlineSPDscanInfo.cxx:24
 AliITSOnlineSPDscanInfo.cxx:25
 AliITSOnlineSPDscanInfo.cxx:26
 AliITSOnlineSPDscanInfo.cxx:27
 AliITSOnlineSPDscanInfo.cxx:28
 AliITSOnlineSPDscanInfo.cxx:29
 AliITSOnlineSPDscanInfo.cxx:30
 AliITSOnlineSPDscanInfo.cxx:31
 AliITSOnlineSPDscanInfo.cxx:32
 AliITSOnlineSPDscanInfo.cxx:33
 AliITSOnlineSPDscanInfo.cxx:34
 AliITSOnlineSPDscanInfo.cxx:35
 AliITSOnlineSPDscanInfo.cxx:36
 AliITSOnlineSPDscanInfo.cxx:37
 AliITSOnlineSPDscanInfo.cxx:38
 AliITSOnlineSPDscanInfo.cxx:39
 AliITSOnlineSPDscanInfo.cxx:40
 AliITSOnlineSPDscanInfo.cxx:41
 AliITSOnlineSPDscanInfo.cxx:42
 AliITSOnlineSPDscanInfo.cxx:43
 AliITSOnlineSPDscanInfo.cxx:44
 AliITSOnlineSPDscanInfo.cxx:45
 AliITSOnlineSPDscanInfo.cxx:46
 AliITSOnlineSPDscanInfo.cxx:47
 AliITSOnlineSPDscanInfo.cxx:48
 AliITSOnlineSPDscanInfo.cxx:49
 AliITSOnlineSPDscanInfo.cxx:50
 AliITSOnlineSPDscanInfo.cxx:51
 AliITSOnlineSPDscanInfo.cxx:52
 AliITSOnlineSPDscanInfo.cxx:53
 AliITSOnlineSPDscanInfo.cxx:54
 AliITSOnlineSPDscanInfo.cxx:55
 AliITSOnlineSPDscanInfo.cxx:56
 AliITSOnlineSPDscanInfo.cxx:57
 AliITSOnlineSPDscanInfo.cxx:58
 AliITSOnlineSPDscanInfo.cxx:59
 AliITSOnlineSPDscanInfo.cxx:60
 AliITSOnlineSPDscanInfo.cxx:61
 AliITSOnlineSPDscanInfo.cxx:62
 AliITSOnlineSPDscanInfo.cxx:63
 AliITSOnlineSPDscanInfo.cxx:64
 AliITSOnlineSPDscanInfo.cxx:65
 AliITSOnlineSPDscanInfo.cxx:66
 AliITSOnlineSPDscanInfo.cxx:67
 AliITSOnlineSPDscanInfo.cxx:68
 AliITSOnlineSPDscanInfo.cxx:69
 AliITSOnlineSPDscanInfo.cxx:70
 AliITSOnlineSPDscanInfo.cxx:71
 AliITSOnlineSPDscanInfo.cxx:72
 AliITSOnlineSPDscanInfo.cxx:73
 AliITSOnlineSPDscanInfo.cxx:74
 AliITSOnlineSPDscanInfo.cxx:75
 AliITSOnlineSPDscanInfo.cxx:76
 AliITSOnlineSPDscanInfo.cxx:77
 AliITSOnlineSPDscanInfo.cxx:78
 AliITSOnlineSPDscanInfo.cxx:79
 AliITSOnlineSPDscanInfo.cxx:80
 AliITSOnlineSPDscanInfo.cxx:81
 AliITSOnlineSPDscanInfo.cxx:82
 AliITSOnlineSPDscanInfo.cxx:83
 AliITSOnlineSPDscanInfo.cxx:84
 AliITSOnlineSPDscanInfo.cxx:85
 AliITSOnlineSPDscanInfo.cxx:86
 AliITSOnlineSPDscanInfo.cxx:87
 AliITSOnlineSPDscanInfo.cxx:88
 AliITSOnlineSPDscanInfo.cxx:89