Line data Source code
1 : /// \class AliTPCConfigParser
2 :
3 : #ifndef AliTPCConfigParser_H
4 : #define AliTPCConfigParser_H
5 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 : * See cxx source for full Copyright notice */
7 : #include <TObject.h>
8 :
9 : class TObjArray;
10 : class TList;
11 :
12 : class AliTPCConfigParser : public TObject{
13 :
14 : public:
15 : AliTPCConfigParser();
16 : AliTPCConfigParser(const char* cfgfile);
17 : AliTPCConfigParser(const AliTPCConfigParser &cfg);
18 : AliTPCConfigParser& operator = (const AliTPCConfigParser &cfg);
19 :
20 : virtual ~AliTPCConfigParser();
21 :
22 : Int_t ParseConfigFileTxt(const char* cfgfile);
23 : Float_t GetValue(const char* key, UInt_t position=0);
24 : Float_t GetValue(const TObject *key, UInt_t position=0);
25 : const char* GetData(const char* key, UInt_t position=0);
26 : const char* GetData(const TObject* key, UInt_t position=0);
27 :
28 : Int_t GetNumberOfValues(const char* key) const;
29 : Int_t GetNumberOfValues(TObject* key) const;
30 :
31 0 : const TList* GetConfigurationMap() const {return fConfigMap;}
32 : void ResetMap();
33 :
34 0 : const TList* operator()() const {return fConfigMap;}
35 0 : const TObject* operator()(Int_t pos) const {return fConfigMap->At(pos);}
36 0 : const TObject* operator()(const char* key) const {return fConfigMap->FindObject(key);}
37 0 : const TObject* operator()(TObject* key) const {return fConfigMap->FindObject(key);}
38 :
39 0 : void ResetIter() {delete fKeyIter; fKeyIter=0; delete fValIter; fValIter=0;}
40 :
41 : TObject* NextKey();
42 : TObject* NextValue(const char *key);
43 : TObject* NextValue(TObject *key);
44 :
45 : private:
46 : TList *fConfigMap;
47 : TIterator *fKeyIter;
48 : TIterator *fValIter;
49 :
50 : TObject *NextValueIter(TObjArray *obj);
51 :
52 : /// \cond CLASSIMP
53 24 : ClassDef(AliTPCConfigParser, 1) // TPC DA configuration file parser
54 : /// \endcond
55 : };
56 : #endif
|