Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 // Guy Barrand 25th September 2021 27 // 28 29 #ifndef G4PLOTTER_HH 30 #define G4PLOTTER_HH 31 32 #include "G4String.hh" 33 34 #include <utility> 35 #include <vector> 36 37 namespace tools {namespace histo {class h1d;}} 38 namespace tools {namespace histo {class h2d;}} 39 40 class G4Plotter { 41 public: 42 using RegionStyle = std::pair<unsigned i 43 using Parameter = std::pair<G4String,G 44 using RegionParameter = std::pair<unsigned i 45 using Region_h1d = std::pair<unsigned i 46 using Region_h2d = std::pair<unsigned i 47 using Region_h1 = std::pair<unsigned i 48 using Region_h2 = std::pair<unsigned i 49 50 G4Plotter(); 51 virtual ~G4Plotter() = default; 52 G4Plotter(const G4Plotter&); 53 G4Plotter& operator = (const G4Plotter&); 54 55 void SetLayout(unsigned int colums,unsigned 56 void AddStyle(const G4String& style); 57 void AddRegionStyle(unsigned int region,cons 58 void AddRegionParameter(unsigned int region, 59 void AddRegionHistogram(unsigned int region, 60 void AddRegionHistogram(unsigned int region, 61 void AddRegionH1(unsigned int region,int id) 62 void AddRegionH2(unsigned int region,int id) 63 void Reset(); 64 void Clear(); 65 void ClearRegion(unsigned int region); 66 67 unsigned int GetColumns() const {return fCol 68 unsigned int GetRows() const {return fRows;} 69 const std::vector<G4String>& GetStyles() con 70 const std::vector<RegionStyle>& GetRegionSty 71 const std::vector<RegionParameter>& GetRegio 72 const std::vector<Region_h1d>& GetRegionH1Ds 73 const std::vector<Region_h2d>& GetRegionH2Ds 74 75 const std::vector<Region_h1>& GetRegionH1s() 76 const std::vector<Region_h2>& GetRegionH2s() 77 78 private: 79 unsigned int fColumns{1}; 80 unsigned int fRows{1}; 81 std::vector<G4String> fStyles; 82 std::vector<RegionStyle> fRegionStyles; 83 std::vector<RegionParameter> fRegionParamete 84 std::vector<Region_h1d> fRegion_h1ds; 85 std::vector<Region_h2d> fRegion_h2ds; 86 std::vector<Region_h1> fRegion_h1s; 87 std::vector<Region_h2> fRegion_h2s; 88 }; 89 90 #endif 91