Back to home page

sPhenix code displayed by LXR

 
 

    


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   //! write PdbParameterMapContainer to an external file with root or xml extension.
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