ROOT logo
#ifndef ALI_ITS_ONLINESPDSCANINFO_H
#define ALI_ITS_ONLINESPDSCANINFO_H

/////////////////////////////////////////////////////////////////
// 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 <TObject.h>
#include <TArrayI.h>

class AliITSOnlineSPDscanInfo :  public TObject {

 public:
  AliITSOnlineSPDscanInfo();
  virtual ~AliITSOnlineSPDscanInfo();

  virtual UInt_t AddScanStep(); // returns the index (nsi) of the added step
  virtual void   ClearThis();
  // SET METHODS ***********************************
  void     SetType(UInt_t val) {fType=val;}
  void     SetRunNr(UInt_t val) {fRunNr=val;}
  void     SetRouterNr(UInt_t val) {fRouterNr=val;}
  void     SetHalfStaveScanned(UInt_t val, Bool_t b);
  void     SetDataFormat(UInt_t val) {fDataFormat=val;}
  void     SetTriggers(UInt_t nsi, UInt_t val);
  void     SetChipPresent(UInt_t hs, UInt_t chipi, Bool_t val) {fChipPresent[hs*10+chipi]=val;}
  void     SetRowStart(UInt_t val){fRowStart=val;}
  void     SetRowEnd(UInt_t val){fRowEnd=val;}
  void     SetDacStart(UInt_t val){fDacStart=val;}
  void     SetDacEnd(UInt_t val){fDacEnd=val;}  
  void     SetDacStep(UInt_t val){fDacStep=val;}
  void     SetDCSVersion(UInt_t val){fDCSVersion=val;}

  void     IncrementTriggers(UInt_t nsi);

  // GET METHODS ***********************************
  UInt_t   GetNSteps() const {return fNSteps;}
  UInt_t   GetType() const {return fType;}
  UInt_t   GetRunNr() const {return fRunNr;}
  UInt_t   GetRouterNr() const {return fRouterNr;}
  Bool_t   GetHalfStaveScanned(UInt_t val);
  UInt_t   GetDataFormat() const {return fDataFormat;}
  UInt_t   GetTriggers(UInt_t nsi) const ;
  Bool_t   GetChipPresent(UInt_t hs, UInt_t chipi) const {return fChipPresent[hs*10+chipi];}
  UInt_t   GetRowStart() const {return fRowStart;}
  UInt_t   GetRowEnd() const {return fRowEnd;}
  UInt_t   GetDacStart() const {return fDacStart;}
  UInt_t   GetDacEnd() const {return fDacEnd;}
  UInt_t   GetDacStep() const {return fDacStep;}
  UInt_t   GetDCSVersion() const {return fDCSVersion;}

 protected:
  UInt_t   fType;                 // type of calibration scan
  UInt_t   fDataFormat;           // data format (normal or histogram)
  UInt_t   fRunNr;                // run nr
  UInt_t   fRouterNr;             // router nr
  Bool_t   fHalfStaveScanned[6];  // half stave scanned
  UInt_t   fNSteps;               // nr of s-curve steps
  TArrayI  fTriggers;             // number of triggers for the different steps of the scan
  Bool_t   fChipPresent[60];      // which chips are present
  UInt_t   fRowStart;             // row start
  UInt_t   fRowEnd;               // row end
  UInt_t   fDacStep;              // dac step
  UInt_t   fDacStart;             // dac start
  UInt_t   fDacEnd;               // dac end
  UInt_t   fDCSVersion;           // ConfigDB version

  ClassDef(AliITSOnlineSPDscanInfo,2)
    };
    
#endif
 AliITSOnlineSPDscanInfo.h:1
 AliITSOnlineSPDscanInfo.h:2
 AliITSOnlineSPDscanInfo.h:3
 AliITSOnlineSPDscanInfo.h:4
 AliITSOnlineSPDscanInfo.h:5
 AliITSOnlineSPDscanInfo.h:6
 AliITSOnlineSPDscanInfo.h:7
 AliITSOnlineSPDscanInfo.h:8
 AliITSOnlineSPDscanInfo.h:9
 AliITSOnlineSPDscanInfo.h:10
 AliITSOnlineSPDscanInfo.h:11
 AliITSOnlineSPDscanInfo.h:12
 AliITSOnlineSPDscanInfo.h:13
 AliITSOnlineSPDscanInfo.h:14
 AliITSOnlineSPDscanInfo.h:15
 AliITSOnlineSPDscanInfo.h:16
 AliITSOnlineSPDscanInfo.h:17
 AliITSOnlineSPDscanInfo.h:18
 AliITSOnlineSPDscanInfo.h:19
 AliITSOnlineSPDscanInfo.h:20
 AliITSOnlineSPDscanInfo.h:21
 AliITSOnlineSPDscanInfo.h:22
 AliITSOnlineSPDscanInfo.h:23
 AliITSOnlineSPDscanInfo.h:24
 AliITSOnlineSPDscanInfo.h:25
 AliITSOnlineSPDscanInfo.h:26
 AliITSOnlineSPDscanInfo.h:27
 AliITSOnlineSPDscanInfo.h:28
 AliITSOnlineSPDscanInfo.h:29
 AliITSOnlineSPDscanInfo.h:30
 AliITSOnlineSPDscanInfo.h:31
 AliITSOnlineSPDscanInfo.h:32
 AliITSOnlineSPDscanInfo.h:33
 AliITSOnlineSPDscanInfo.h:34
 AliITSOnlineSPDscanInfo.h:35
 AliITSOnlineSPDscanInfo.h:36
 AliITSOnlineSPDscanInfo.h:37
 AliITSOnlineSPDscanInfo.h:38
 AliITSOnlineSPDscanInfo.h:39
 AliITSOnlineSPDscanInfo.h:40
 AliITSOnlineSPDscanInfo.h:41
 AliITSOnlineSPDscanInfo.h:42
 AliITSOnlineSPDscanInfo.h:43
 AliITSOnlineSPDscanInfo.h:44
 AliITSOnlineSPDscanInfo.h:45
 AliITSOnlineSPDscanInfo.h:46
 AliITSOnlineSPDscanInfo.h:47
 AliITSOnlineSPDscanInfo.h:48
 AliITSOnlineSPDscanInfo.h:49
 AliITSOnlineSPDscanInfo.h:50
 AliITSOnlineSPDscanInfo.h:51
 AliITSOnlineSPDscanInfo.h:52
 AliITSOnlineSPDscanInfo.h:53
 AliITSOnlineSPDscanInfo.h:54
 AliITSOnlineSPDscanInfo.h:55
 AliITSOnlineSPDscanInfo.h:56
 AliITSOnlineSPDscanInfo.h:57
 AliITSOnlineSPDscanInfo.h:58
 AliITSOnlineSPDscanInfo.h:59
 AliITSOnlineSPDscanInfo.h:60
 AliITSOnlineSPDscanInfo.h:61
 AliITSOnlineSPDscanInfo.h:62
 AliITSOnlineSPDscanInfo.h:63
 AliITSOnlineSPDscanInfo.h:64
 AliITSOnlineSPDscanInfo.h:65
 AliITSOnlineSPDscanInfo.h:66
 AliITSOnlineSPDscanInfo.h:67
 AliITSOnlineSPDscanInfo.h:68
 AliITSOnlineSPDscanInfo.h:69
 AliITSOnlineSPDscanInfo.h:70
 AliITSOnlineSPDscanInfo.h:71
 AliITSOnlineSPDscanInfo.h:72
 AliITSOnlineSPDscanInfo.h:73
 AliITSOnlineSPDscanInfo.h:74
 AliITSOnlineSPDscanInfo.h:75