ROOT logo
#ifndef ALITOFDATADCS_H
#define ALITOFDATADCS_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

// AliTOFDataDCS class
// main aim is to process DCS data
// in order to obtain the data to be stored in the OCDB

#include "TObject.h" 

class TMap;
class TClonesArray;
class TString;
class AliTOFFormatDCS;

class AliTOFDataDCS : public TObject {
public:
  enum {kNAliases=360, kNHV=90};
  
  AliTOFDataDCS();
  AliTOFDataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime, UInt_t startTimeDCSQuery, UInt_t endTimeDCSQuery );
  AliTOFDataDCS(const AliTOFDataDCS & data);
  AliTOFDataDCS& operator=(const AliTOFDataDCS & data);
  ~AliTOFDataDCS();
  
  void SetRun(Int_t run) {fRun = run;}
  void SetStartTime(Int_t startTime) {fStartTime = startTime;}
  void SetEndTime(Int_t endTime) {fEndTime = endTime;}
  void SetStartTimeDCSQuery(Int_t startTimeDCSQuery) {fStartTimeDCSQuery = startTimeDCSQuery;}
  void SetEndTimeDCSQuery(Int_t endTimeDCSQuery) {fEndTimeDCSQuery = endTimeDCSQuery;}
  Int_t GetRun() const {return fRun;}
  Int_t GetStartTime() const {return fStartTime;}
  Int_t GetEndTime() const {return fEndTime;}
  Int_t GetStartTimeDCSQuery() const {return fStartTimeDCSQuery;}
  Int_t GetEndTimeDCSQuery() const {return fEndTimeDCSQuery;}
  
  Bool_t ProcessData(TMap& aliasMap);
  
  const char* GetAliasName(Int_t pos) const 
    {return pos<kNAliases ? fAliasNames[pos].Data() : 0;}
  
  void Draw(const Option_t* /*option*/);
  
  AliTOFFormatDCS* GetHVvp(Int_t pos) const
    {return pos<kNHV ? fHVvp[pos] : 0;}
  AliTOFFormatDCS* GetHVvn(Int_t pos) const 
    {return pos<kNHV ? fHVvn[pos] : 0;}
  AliTOFFormatDCS* GetHVip(Int_t pos) const 
    {return pos<kNHV ? fHVip[pos] : 0;}
  AliTOFFormatDCS* GetHVin(Int_t pos) const 
    {return pos<kNHV ? fHVin[pos] : 0;}

  void SetFDRFlag(Bool_t flag) {fFDR = flag;}
  Bool_t GetFDRFlag() const {return fFDR;}

private:
  void Init();
  void Introduce(UInt_t numAlias, const TObjArray* aliasArr) const;
  void CreateHisto(int nbin);
  
  Int_t fRun;       // Run number
  Int_t fStartTime; // start time
  Int_t fEndTime;   // end time  
  Int_t fStartTimeDCSQuery; // start time DCSQuery
  Int_t fEndTimeDCSQuery;   // end time DCSQuery
  
  TString fAliasNames[kNAliases];        // aliases for DCS data
  AliTOFFormatDCS *fHVvp[kNHV];          // HV voltages, positive ch
  AliTOFFormatDCS *fHVvn[kNHV];          // HV voltages, negative ch
  AliTOFFormatDCS *fHVip[kNHV];          // HV currents, positive ch
  AliTOFFormatDCS *fHVin[kNHV];          // HV currents, negative ch
  
  Bool_t fIsProcessed;                   // bool to know processing status
  Bool_t fFDR;                   // bool to know whether we are in a FDR run
  
  ClassDef(AliTOFDataDCS, 5);
};

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