ROOT logo
#ifndef AliTPCConfigParser_H
#define AliTPCConfigParser_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */
#include <TObject.h>

class TObjArray;
class TList;

class AliTPCConfigParser : public TObject{
  
public:
  AliTPCConfigParser();
  AliTPCConfigParser(const char* cfgfile);
  AliTPCConfigParser(const AliTPCConfigParser &cfg);
  AliTPCConfigParser& operator = (const AliTPCConfigParser &cfg);
 
  virtual ~AliTPCConfigParser();
  
  Int_t ParseConfigFileTxt(const char* cfgfile);
  Float_t GetValue(const char* key, UInt_t position=0);
  Float_t GetValue(const TObject *key, UInt_t position=0);
  const char*  GetData(const char* key, UInt_t position=0);
  const char*  GetData(const TObject* key, UInt_t position=0);
  
  Int_t GetNumberOfValues(const char* key) const;
  Int_t GetNumberOfValues(TObject* key) const;
  
  const TList* GetConfigurationMap() const {return fConfigMap;}
  void ResetMap();

  const TList*   operator()() const {return fConfigMap;}
  const TObject* operator()(Int_t pos) const {return fConfigMap->At(pos);}
  const TObject* operator()(const char* key) const {return fConfigMap->FindObject(key);}
  const TObject* operator()(TObject* key) const {return fConfigMap->FindObject(key);}

  void ResetIter() {delete fKeyIter; fKeyIter=0; delete fValIter; fValIter=0;}
  
  TObject* NextKey();
  TObject* NextValue(const char *key);
  TObject* NextValue(TObject *key);

private:
  TList *fConfigMap;
  TIterator *fKeyIter;
  TIterator *fValIter;

  TObject *NextValueIter(TObjArray *obj);
  
  ClassDef(AliTPCConfigParser, 1)         // TPC DA configuration file parser
};
#endif
 AliTPCConfigParser.h:1
 AliTPCConfigParser.h:2
 AliTPCConfigParser.h:3
 AliTPCConfigParser.h:4
 AliTPCConfigParser.h:5
 AliTPCConfigParser.h:6
 AliTPCConfigParser.h:7
 AliTPCConfigParser.h:8
 AliTPCConfigParser.h:9
 AliTPCConfigParser.h:10
 AliTPCConfigParser.h:11
 AliTPCConfigParser.h:12
 AliTPCConfigParser.h:13
 AliTPCConfigParser.h:14
 AliTPCConfigParser.h:15
 AliTPCConfigParser.h:16
 AliTPCConfigParser.h:17
 AliTPCConfigParser.h:18
 AliTPCConfigParser.h:19
 AliTPCConfigParser.h:20
 AliTPCConfigParser.h:21
 AliTPCConfigParser.h:22
 AliTPCConfigParser.h:23
 AliTPCConfigParser.h:24
 AliTPCConfigParser.h:25
 AliTPCConfigParser.h:26
 AliTPCConfigParser.h:27
 AliTPCConfigParser.h:28
 AliTPCConfigParser.h:29
 AliTPCConfigParser.h:30
 AliTPCConfigParser.h:31
 AliTPCConfigParser.h:32
 AliTPCConfigParser.h:33
 AliTPCConfigParser.h:34
 AliTPCConfigParser.h:35
 AliTPCConfigParser.h:36
 AliTPCConfigParser.h:37
 AliTPCConfigParser.h:38
 AliTPCConfigParser.h:39
 AliTPCConfigParser.h:40
 AliTPCConfigParser.h:41
 AliTPCConfigParser.h:42
 AliTPCConfigParser.h:43
 AliTPCConfigParser.h:44
 AliTPCConfigParser.h:45
 AliTPCConfigParser.h:46
 AliTPCConfigParser.h:47
 AliTPCConfigParser.h:48
 AliTPCConfigParser.h:49
 AliTPCConfigParser.h:50
 AliTPCConfigParser.h:51
 AliTPCConfigParser.h:52