File indexing completed on 2025-08-06 08:17:10
0001 #ifndef PDBCAL_BASE_PDBPARAMETERMAPCONTAINER_H
0002 #define PDBCAL_BASE_PDBPARAMETERMAPCONTAINER_H
0003
0004 #include "PdbCalChan.h"
0005
0006 #include <map>
0007 #include <string>
0008 #include <utility>
0009
0010 class PdbParameterMap;
0011
0012 class PdbParameterMapContainer : public PdbCalChan
0013 {
0014 public:
0015 typedef std::map<int, PdbParameterMap *> parMap;
0016 typedef parMap::const_iterator parIter;
0017 typedef std::pair<parIter, parIter> parConstRange;
0018
0019 PdbParameterMapContainer() {}
0020 ~PdbParameterMapContainer() override;
0021
0022 void print() const override;
0023
0024 void Reset() override;
0025
0026 void AddPdbParameterMap(const int layer, PdbParameterMap *params);
0027 const PdbParameterMap *GetParameters(const int layer) const;
0028 PdbParameterMap *GetParametersToModify(const int layer);
0029 parConstRange get_ParameterMaps() const { return make_pair(parametermap.begin(), parametermap.end()); }
0030
0031
0032 int WriteToFile(const std::string &detector_name, const std::string &extension, const std::string &dir = ".");
0033
0034 protected:
0035 std::map<int, PdbParameterMap *> parametermap;
0036
0037 ClassDefOverride(PdbParameterMapContainer, 1)
0038 };
0039
0040 #endif