]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSOnlineSPDscanMultiple.cxx
Adding comment lines to class description needed for Root documentation,
[u/mrichter/AliRoot.git] / ITS / AliITSOnlineSPDscanMultiple.cxx
1 ////////////////////////////////////////////////////////////
2 // Author: Henrik Tydesjo                                 //
3 // Interface class to the containers of an online scan    //
4 // with multiple steps.                                   //
5 ////////////////////////////////////////////////////////////
6
7 #include <TFile.h>
8 #include "AliITSOnlineSPDscanMultiple.h"
9 #include "AliITSOnlineSPDscanInfoMultiple.h"
10
11 ClassImp(AliITSOnlineSPDscanMultiple)
12
13 AliITSOnlineSPDscanMultiple::AliITSOnlineSPDscanMultiple():AliITSOnlineSPDscan(){
14 // Default constructor
15 }
16 AliITSOnlineSPDscanMultiple::AliITSOnlineSPDscanMultiple(Char_t *fileName) {
17   // constructor
18   sprintf(fFileName,"%s",fileName);
19   // look for a previously saved info object 
20   // (if file not found create a new one and return, else read)
21   FILE* fp0 = fopen(fFileName, "r");
22   if (fp0 == NULL) {
23     fScanInfo = new AliITSOnlineSPDscanInfoMultiple();
24     fFile = new TFile(fFileName, "RECREATE");
25     fWrite=kTRUE;
26   }
27   else {
28     fclose(fp0);
29     fFile = new TFile(fFileName, "READ");
30     fWrite=kFALSE;
31     fFile->GetObject("AliITSOnlineSPDscanInfo", fScanInfo);
32   }
33   Init();
34 }
35
36 AliITSOnlineSPDscanMultiple::AliITSOnlineSPDscanMultiple(const AliITSOnlineSPDscanMultiple& scan) :
37   AliITSOnlineSPDscan(scan)
38 {}
39
40 AliITSOnlineSPDscanMultiple::~AliITSOnlineSPDscanMultiple() {}
41
42 AliITSOnlineSPDscanMultiple& AliITSOnlineSPDscanMultiple::operator=(const AliITSOnlineSPDscanMultiple& scan) {
43   // Assignment operator, should not be called!!!
44   printf("This object should not be copied!");
45   if (this!=&scan) {
46     // still do nothing...
47   }
48   return *this;
49 }
50
51 //void AliITSOnlineSPDscanMultiple::ReadFromTObjArray(TObjArray *arr) {
52 //  ClearThis();
53 //  Int_t nrEntries = arr->GetEntriesFast();
54 //  if (nrEntries>0 && nrEntries%2==1) {
55 //    fScanInfo = (AliITSOnlineSPDscanInfoMultiple*) arr->At(0);
56 //    fInfoModified=kTRUE;
57 //    FillFromTObjArray(arr,nrEntries);
58 //  }
59 //}
60
61 UInt_t AliITSOnlineSPDscanMultiple::AddScanStep() {
62   CreateNewStep();
63   return ((AliITSOnlineSPDscanInfoMultiple*)fScanInfo)->AddScanStep();
64 }
65
66 void AliITSOnlineSPDscanMultiple::SetDacId(Int_t val) {
67   ((AliITSOnlineSPDscanInfoMultiple*)fScanInfo)->SetDacId(val); 
68   fInfoModified=kTRUE;
69 }
70 void AliITSOnlineSPDscanMultiple::SetDacValue(UInt_t nsi, Int_t val) {
71   // set dac value for step nsi
72   SwitchToStep(nsi);
73   ((AliITSOnlineSPDscanInfoMultiple*)fScanInfo)->SetDacValue(nsi,val); 
74   fInfoModified=kTRUE;
75 }
76 Int_t AliITSOnlineSPDscanMultiple::GetDacId() {
77   return ((AliITSOnlineSPDscanInfoMultiple*)fScanInfo)->GetDacId();
78 }
79 Int_t AliITSOnlineSPDscanMultiple::GetDacValue(UInt_t nsi) {
80   return ((AliITSOnlineSPDscanInfoMultiple*)fScanInfo)->GetDacValue(nsi);
81 }