ROOT logo
////////////////////////////////////////////////////////////
// Author: Henrik Tydesjo                                 //
// Interface class to the containers of an online mean    //
// threshold scan.                                        //
////////////////////////////////////////////////////////////

#include <TFile.h>
#include "AliITSOnlineSPDscanMeanTh.h"
#include "AliITSOnlineSPDscanInfoMeanTh.h"

AliITSOnlineSPDscanMeanTh::AliITSOnlineSPDscanMeanTh(const Char_t *fileName, Bool_t readFromGridFile) {
  // constructor
  fFileName=fileName;
  fModified=kFALSE;
  fInfoModified=kFALSE;
  // look for a previously saved info object 
  // (if file not found create a new one and return, else read)

  Bool_t bRead = readFromGridFile;

  if (!bRead) {
    FILE* fp0 = fopen(fFileName.Data(), "r");
    if (fp0 != NULL) {
      bRead=kTRUE;
      fclose(fp0);
    }
  }

  if (bRead) { // open file for reading
    fFile = TFile::Open(fFileName.Data(), "READ");
    if (fFile==NULL) { // grid file not found, create new local default file
      printf("ERROR: AliITSOnlineSPDscan: File %s not found! Creating 'test999.root' file instead\n",fFileName.Data());
      // create default empty file:
      fFileName = "test999.root";
      fScanInfo = new AliITSOnlineSPDscanInfoMeanTh();
      fInfoModified=kTRUE;
      fFile = new TFile(fFileName.Data(), "RECREATE");
      fWrite=kTRUE;
    }
    else { // read from file (grid or local)
      fWrite=kFALSE;
      fFile->GetObject("AliITSOnlineSPDscanInfo", fScanInfo);
    }
  }
  else { // create new local file
    fScanInfo = new AliITSOnlineSPDscanInfoMeanTh();
    fInfoModified=kTRUE;
    fFile = new TFile(fFileName.Data(), "RECREATE");
    fWrite=kTRUE;
  }

  Init();
}

AliITSOnlineSPDscanMeanTh::AliITSOnlineSPDscanMeanTh(const AliITSOnlineSPDscanMeanTh& scan) :
  AliITSOnlineSPDscanMultiple(scan)
{}

AliITSOnlineSPDscanMeanTh::~AliITSOnlineSPDscanMeanTh() {}

AliITSOnlineSPDscanMeanTh& AliITSOnlineSPDscanMeanTh::operator=(const AliITSOnlineSPDscanMeanTh& scan) {
  // assignment operator (should not be used)
  printf("This object should not be copied!");
  if (this!=&scan) {
    // still do nothing...
  }
  return *this;
}

UInt_t AliITSOnlineSPDscanMeanTh::AddScanStep() {
  CreateNewStep();
  return ((AliITSOnlineSPDscanInfoMeanTh*)fScanInfo)->AddScanStep();
}

void AliITSOnlineSPDscanMeanTh::SetDacLow(UInt_t nsi, UInt_t hs, Int_t val) {
  // set dac low value for step nsi and half stave hs
  SwitchToStep(nsi);
  ((AliITSOnlineSPDscanInfoMeanTh*)fScanInfo)->SetDacLow(nsi,hs,val); 
  fInfoModified=kTRUE;
}
void AliITSOnlineSPDscanMeanTh::SetDacHigh(UInt_t nsi, UInt_t hs, Int_t val) {
  // set dac high value for step nsi and half stave hs
  SwitchToStep(nsi);
  ((AliITSOnlineSPDscanInfoMeanTh*)fScanInfo)->SetDacHigh(nsi,hs,val); 
  fInfoModified=kTRUE;
}
void AliITSOnlineSPDscanMeanTh::SetTPAmp(UInt_t nsi, UInt_t hs, Int_t val) {
  // set test pulse amplitude for step nsi and half stave hs
  SwitchToStep(nsi);
  ((AliITSOnlineSPDscanInfoMeanTh*)fScanInfo)->SetTPAmp(nsi,hs,val); 
  fInfoModified=kTRUE;
}

Int_t AliITSOnlineSPDscanMeanTh::GetDacLow(UInt_t nsi, UInt_t hs) {
  return ((AliITSOnlineSPDscanInfoMeanTh*)fScanInfo)->GetDacLow(nsi,hs);
}
Int_t AliITSOnlineSPDscanMeanTh::GetDacHigh(UInt_t nsi, UInt_t hs) {
  return ((AliITSOnlineSPDscanInfoMeanTh*)fScanInfo)->GetDacHigh(nsi,hs);
}
Int_t AliITSOnlineSPDscanMeanTh::GetTPAmp(UInt_t nsi, UInt_t hs) {
  return ((AliITSOnlineSPDscanInfoMeanTh*)fScanInfo)->GetTPAmp(nsi,hs);
}
 AliITSOnlineSPDscanMeanTh.cxx:1
 AliITSOnlineSPDscanMeanTh.cxx:2
 AliITSOnlineSPDscanMeanTh.cxx:3
 AliITSOnlineSPDscanMeanTh.cxx:4
 AliITSOnlineSPDscanMeanTh.cxx:5
 AliITSOnlineSPDscanMeanTh.cxx:6
 AliITSOnlineSPDscanMeanTh.cxx:7
 AliITSOnlineSPDscanMeanTh.cxx:8
 AliITSOnlineSPDscanMeanTh.cxx:9
 AliITSOnlineSPDscanMeanTh.cxx:10
 AliITSOnlineSPDscanMeanTh.cxx:11
 AliITSOnlineSPDscanMeanTh.cxx:12
 AliITSOnlineSPDscanMeanTh.cxx:13
 AliITSOnlineSPDscanMeanTh.cxx:14
 AliITSOnlineSPDscanMeanTh.cxx:15
 AliITSOnlineSPDscanMeanTh.cxx:16
 AliITSOnlineSPDscanMeanTh.cxx:17
 AliITSOnlineSPDscanMeanTh.cxx:18
 AliITSOnlineSPDscanMeanTh.cxx:19
 AliITSOnlineSPDscanMeanTh.cxx:20
 AliITSOnlineSPDscanMeanTh.cxx:21
 AliITSOnlineSPDscanMeanTh.cxx:22
 AliITSOnlineSPDscanMeanTh.cxx:23
 AliITSOnlineSPDscanMeanTh.cxx:24
 AliITSOnlineSPDscanMeanTh.cxx:25
 AliITSOnlineSPDscanMeanTh.cxx:26
 AliITSOnlineSPDscanMeanTh.cxx:27
 AliITSOnlineSPDscanMeanTh.cxx:28
 AliITSOnlineSPDscanMeanTh.cxx:29
 AliITSOnlineSPDscanMeanTh.cxx:30
 AliITSOnlineSPDscanMeanTh.cxx:31
 AliITSOnlineSPDscanMeanTh.cxx:32
 AliITSOnlineSPDscanMeanTh.cxx:33
 AliITSOnlineSPDscanMeanTh.cxx:34
 AliITSOnlineSPDscanMeanTh.cxx:35
 AliITSOnlineSPDscanMeanTh.cxx:36
 AliITSOnlineSPDscanMeanTh.cxx:37
 AliITSOnlineSPDscanMeanTh.cxx:38
 AliITSOnlineSPDscanMeanTh.cxx:39
 AliITSOnlineSPDscanMeanTh.cxx:40
 AliITSOnlineSPDscanMeanTh.cxx:41
 AliITSOnlineSPDscanMeanTh.cxx:42
 AliITSOnlineSPDscanMeanTh.cxx:43
 AliITSOnlineSPDscanMeanTh.cxx:44
 AliITSOnlineSPDscanMeanTh.cxx:45
 AliITSOnlineSPDscanMeanTh.cxx:46
 AliITSOnlineSPDscanMeanTh.cxx:47
 AliITSOnlineSPDscanMeanTh.cxx:48
 AliITSOnlineSPDscanMeanTh.cxx:49
 AliITSOnlineSPDscanMeanTh.cxx:50
 AliITSOnlineSPDscanMeanTh.cxx:51
 AliITSOnlineSPDscanMeanTh.cxx:52
 AliITSOnlineSPDscanMeanTh.cxx:53
 AliITSOnlineSPDscanMeanTh.cxx:54
 AliITSOnlineSPDscanMeanTh.cxx:55
 AliITSOnlineSPDscanMeanTh.cxx:56
 AliITSOnlineSPDscanMeanTh.cxx:57
 AliITSOnlineSPDscanMeanTh.cxx:58
 AliITSOnlineSPDscanMeanTh.cxx:59
 AliITSOnlineSPDscanMeanTh.cxx:60
 AliITSOnlineSPDscanMeanTh.cxx:61
 AliITSOnlineSPDscanMeanTh.cxx:62
 AliITSOnlineSPDscanMeanTh.cxx:63
 AliITSOnlineSPDscanMeanTh.cxx:64
 AliITSOnlineSPDscanMeanTh.cxx:65
 AliITSOnlineSPDscanMeanTh.cxx:66
 AliITSOnlineSPDscanMeanTh.cxx:67
 AliITSOnlineSPDscanMeanTh.cxx:68
 AliITSOnlineSPDscanMeanTh.cxx:69
 AliITSOnlineSPDscanMeanTh.cxx:70
 AliITSOnlineSPDscanMeanTh.cxx:71
 AliITSOnlineSPDscanMeanTh.cxx:72
 AliITSOnlineSPDscanMeanTh.cxx:73
 AliITSOnlineSPDscanMeanTh.cxx:74
 AliITSOnlineSPDscanMeanTh.cxx:75
 AliITSOnlineSPDscanMeanTh.cxx:76
 AliITSOnlineSPDscanMeanTh.cxx:77
 AliITSOnlineSPDscanMeanTh.cxx:78
 AliITSOnlineSPDscanMeanTh.cxx:79
 AliITSOnlineSPDscanMeanTh.cxx:80
 AliITSOnlineSPDscanMeanTh.cxx:81
 AliITSOnlineSPDscanMeanTh.cxx:82
 AliITSOnlineSPDscanMeanTh.cxx:83
 AliITSOnlineSPDscanMeanTh.cxx:84
 AliITSOnlineSPDscanMeanTh.cxx:85
 AliITSOnlineSPDscanMeanTh.cxx:86
 AliITSOnlineSPDscanMeanTh.cxx:87
 AliITSOnlineSPDscanMeanTh.cxx:88
 AliITSOnlineSPDscanMeanTh.cxx:89
 AliITSOnlineSPDscanMeanTh.cxx:90
 AliITSOnlineSPDscanMeanTh.cxx:91
 AliITSOnlineSPDscanMeanTh.cxx:92
 AliITSOnlineSPDscanMeanTh.cxx:93
 AliITSOnlineSPDscanMeanTh.cxx:94
 AliITSOnlineSPDscanMeanTh.cxx:95
 AliITSOnlineSPDscanMeanTh.cxx:96
 AliITSOnlineSPDscanMeanTh.cxx:97
 AliITSOnlineSPDscanMeanTh.cxx:98
 AliITSOnlineSPDscanMeanTh.cxx:99
 AliITSOnlineSPDscanMeanTh.cxx:100
 AliITSOnlineSPDscanMeanTh.cxx:101
 AliITSOnlineSPDscanMeanTh.cxx:102