ROOT logo
#ifndef ALIMUONTRACKERHV_H
#define ALIMUONTRACKERHV_H

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

#ifndef ROOT_TObject
#  include "TObject.h"
#endif
#ifndef ROOT_TString
#  include "TString.h"
#endif

#include <vector>

class TMultiGraph;
class TMap;
class TGraph;
class AliMpDCSNamer;

class AliMUONTrackerHV : public TObject
{
public:
  
  AliMUONTrackerHV(const char* runlist, const char* ocdbPath="raw://");
  AliMUONTrackerHV(Int_t runNumber, const char* ocdbPath="raw://");
  virtual ~AliMUONTrackerHV();

  void SetOCDB(const char* ocdbPath="raw://") { fOCDBPath = ocdbPath; }
  void SetRunList(Int_t runNumber);
  void SetRunList(const char* runlist);

  void HVoff(const char* logfile="lhc11de.log", const char* outputBaseName="hvoff");

  void Plot(const char* dcsname=0x0, Bool_t withPatch=kFALSE, Bool_t plotIntermediate=kFALSE);

  void Print(Option_t* dcsname="") const;

  void ReportTrips(Bool_t includeLowOnes=kFALSE);
  
  void Scan(Int_t verbose=0);
  
  TGraph* Combine(TObjArray& graphs);

  TMultiGraph* CombineMulti(TObjArray& graphs);

private:

  void ReadIntegers(const char* filename, std::vector<int>& integers);

  TGraph* GraphValues(TMap* m, const char* name);
  
  Int_t CheckMap(TMap* hvMap, Int_t runNumber, Bool_t verbose);
  
  void TimeAxis(TMultiGraph* g);
  
  TMultiGraph* GraphHV(TMap* m, const char* dcsname);
  
  AliMpDCSNamer* DCSNamer() const;

  AliMUONTrackerHV(const AliMUONTrackerHV& rhs); // not implemented on purpose
  AliMUONTrackerHV& operator=(const AliMUONTrackerHV& rhs); // not implemented on purpose
  
private:
  std::vector<int> fRunList; // input run list
  TString fOCDBPath; // ocdb path (raw:// by default)
  mutable AliMpDCSNamer* fDCSNamer; // helper to name things
  
  ClassDef(AliMUONTrackerHV,2) // Utility class to inspect MUON Tracker HV values
};

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