EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PdbParameterMap.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PdbParameterMap.h
1 #ifndef PDBCAL_BASE_PDBPARAMETERMAP_H
2 #define PDBCAL_BASE_PDBPARAMETERMAP_H
3 
4 #include "PdbCalChan.h"
5 
6 #include <cstddef>
7 #include <map>
8 #include <string>
9 #include <utility>
10 
12 {
13  public:
14  typedef std::map<const std::string, double> dMap;
15  typedef std::map<const std::string, int> iMap;
16  typedef std::map<const std::string, std::string> strMap;
17  typedef dMap::const_iterator dIter;
18  typedef iMap::const_iterator iIter;
19  typedef strMap::const_iterator strIter;
20  typedef std::pair<dIter, dIter> dConstRange;
21  typedef std::pair<iIter, iIter> iConstRange;
22  typedef std::pair<strIter, strIter> strConstRange;
23 
25  ~PdbParameterMap() override {}
26 
27  PHObject *CloneMe() const override { return new PdbParameterMap(*this); }
28 
29  void print() const override;
30  void Reset() override; // from PHObject - clear content
31 
33  size_t get_hash() const;
34 
36  {return make_pair(dparams.begin(),dparams.end());}
37 
39  {return make_pair(iparams.begin(),iparams.end());}
40 
41 
43  {return make_pair(cparams.begin(),cparams.end());}
44 
45  void set_int_param(const std::string &name, const int ival);
46  void set_double_param(const std::string &name, const double dval);
47  void set_string_param(const std::string &name, const std::string &str);
48 
49  protected:
50 
54 
55 
57 
58 };
59 
60 #endif