]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/EMCAL/AliEMCALConfiguration.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEMCALConfiguration.h
1 /*
2  * AliEMCALConfiguration.h
3  *
4  *  Created on: 06.11.2014
5  *      Author: markusfasel
6  */
7
8 #ifndef _ALIEMCALCONFIGURATION_H_
9 #define _ALIEMCALCONFIGURATION_H_
10
11 #include <ostream>
12 #include <string>
13 #include <TNamed.h>
14
15 class TList;
16
17 class AliJSONValue;
18
19 class AliEMCALConfiguration : public TNamed {
20 public:
21   AliEMCALConfiguration(const char *name);
22   virtual ~AliEMCALConfiguration();
23
24   void AddParam(const char *name, AliJSONValue *value);
25   void AddConfiguration(AliEMCALConfiguration * conf);
26   void Build(const char * jsonstring);
27   void Build(TList *entries);
28   std::string CreateJSONString() const;
29
30   Bool_t HasKey(const char *key) const { return GetValue(key) != NULL; }
31   AliJSONValue *GetValue(const char *key) const ;
32   void Print(Option_t *) const;
33
34 protected:
35   TList *fParams;
36
37 private:
38   AliEMCALConfiguration(const AliEMCALConfiguration &ref);
39   AliEMCALConfiguration &operator=(const AliEMCALConfiguration &ref);
40
41   ClassDef(AliEMCALConfiguration, 1);
42 };
43
44 std::ostream &operator<<(std::ostream &, const AliEMCALConfiguration &); 
45
46 #endif /* _ALIEMCALCONFIGURATION_H_ */