]>
Commit | Line | Data |
---|---|---|
b15de2d2 | 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 | } |