Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/graphics_reps/include/G4Plotter.hh

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /graphics_reps/include/G4Plotter.hh (Version 11.3.0) and /graphics_reps/include/G4Plotter.hh (Version 10.3)


  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