Another histos for lumi
[u/mrichter/AliRoot.git] / ITS / AliITSOnlineSPDscanInfo.h
1 #ifndef ALI_ITS_ONLINESPDSCANINFO_H
2 #define ALI_ITS_ONLINESPDSCANINFO_H
3
4 /////////////////////////////////////////////////////////////////
5 // Author: Henrik Tydesjo                                      //
6 // This class is used as a container online.                   //
7 // It holds information needed for a scan.                     //
8 // This class should only be used through the interface of the //
9 // AliITSOnlineSPDscan class.                                  //
10 /////////////////////////////////////////////////////////////////
11
12 #include <TObject.h>
13 #include <TArrayI.h>
14
15 class AliITSOnlineSPDscanInfo :  public TObject {
16
17  public:
18   AliITSOnlineSPDscanInfo();
19   virtual ~AliITSOnlineSPDscanInfo();
20
21   virtual UInt_t AddScanStep(); // returns the index (nsi) of the added step
22   virtual void   ClearThis();
23   // SET METHODS ***********************************
24   void     SetType(UInt_t val) {fType=val;}
25   void     SetRunNr(UInt_t val) {fRunNr=val;}
26   void     SetRouterNr(UInt_t val) {fRouterNr=val;}
27   void     SetHalfStaveScanned(UInt_t val, Bool_t b);
28   void     SetDataFormat(UInt_t val) {fDataFormat=val;}
29   void     SetTriggers(UInt_t nsi, UInt_t val);
30   void     SetChipPresent(UInt_t hs, UInt_t chipi, Bool_t val) {fChipPresent[hs*10+chipi]=val;}
31   void     SetRowStart(UInt_t val){fRowStart=val;}
32   void     SetRowEnd(UInt_t val){fRowEnd=val;}
33   void     SetDacStart(UInt_t val){fDacStart=val;}
34   void     SetDacEnd(UInt_t val){fDacEnd=val;}  
35   void     SetDacStep(UInt_t val){fDacStep=val;}
36   void     SetDCSVersion(UInt_t val){fDCSVersion=val;}
37
38   void     IncrementTriggers(UInt_t nsi);
39
40   // GET METHODS ***********************************
41   UInt_t   GetNSteps() const {return fNSteps;}
42   UInt_t   GetType() const {return fType;}
43   UInt_t   GetRunNr() const {return fRunNr;}
44   UInt_t   GetRouterNr() const {return fRouterNr;}
45   Bool_t   GetHalfStaveScanned(UInt_t val);
46   UInt_t   GetDataFormat() const {return fDataFormat;}
47   UInt_t   GetTriggers(UInt_t nsi) const ;
48   Bool_t   GetChipPresent(UInt_t hs, UInt_t chipi) const {return fChipPresent[hs*10+chipi];}
49   UInt_t   GetRowStart() const {return fRowStart;}
50   UInt_t   GetRowEnd() const {return fRowEnd;}
51   UInt_t   GetDacStart() const {return fDacStart;}
52   UInt_t   GetDacEnd() const {return fDacEnd;}
53   UInt_t   GetDacStep() const {return fDacStep;}
54   UInt_t   GetDCSVersion() const {return fDCSVersion;}
55
56  protected:
57   UInt_t   fType;                 // type of calibration scan
58   UInt_t   fDataFormat;           // data format (normal or histogram)
59   UInt_t   fRunNr;                // run nr
60   UInt_t   fRouterNr;             // router nr
61   Bool_t   fHalfStaveScanned[6];  // half stave scanned
62   UInt_t   fNSteps;               // nr of s-curve steps
63   TArrayI  fTriggers;             // number of triggers for the different steps of the scan
64   Bool_t   fChipPresent[60];      // which chips are present
65   UInt_t   fRowStart;             // row start
66   UInt_t   fRowEnd;               // row end
67   UInt_t   fDacStep;              // dac step
68   UInt_t   fDacStart;             // dac start
69   UInt_t   fDacEnd;               // dac end
70   UInt_t   fDCSVersion;           // ConfigDB version
71
72   ClassDef(AliITSOnlineSPDscanInfo,2)
73     };
74     
75 #endif