Geant4-11
G4PlotParameters.cc
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26
27// Author: Ivana Hrivnacova, 21/10/2015 (ivana@ipno.in2p3.fr)
28
29#include "G4PlotParameters.hh"
30#include "G4PlotMessenger.hh"
32#include "globals.hh"
33
34using namespace G4Analysis;
35using std::to_string;
36
37//_____________________________________________________________________________
39 : fMessenger(nullptr),
40#if defined(TOOLS_USE_FREETYPE)
41 fDefaultStyle("ROOT_default"),
42 fAvailableStyles("ROOT_default hippodrow inlib_default"),
43#else
44 fDefaultStyle("inlib_default"),
45 fAvailableStyles("inlib_default"),
46#endif
47 fStyle(fDefaultStyle)
48{
49 fMessenger = std::make_unique<G4PlotMessenger>(this);
50}
51
52//
53// private methods
54//
55
56//_____________________________________________________________________________
58{
59 if ( columns > rows ||
60 columns < 1 || columns > fkMaxColumns ||
61 rows < 1 || rows > fkMaxRows ) {
62 Warn("Layout: " + to_string(columns) + " x " + to_string(rows) +
63 " was ignored.\n"
64 "Supported layouts (columns <= rows): \n" +
65 " columns = 1 .. " + to_string(fkMaxColumns) + "\n" +
66 " rows = 1 .. " + to_string(fkMaxRows),
67 fkClass, "SetLayout");
68 return;
69 }
70 fColumns = columns;
71 fRows = rows;
72}
73
74//_____________________________________________________________________________
76{
77 fWidth = width;
78 fHeight = height;
79}
80
81//_____________________________________________________________________________
83{
84// Set style and update scale according to the style selected
85
86 if ( fAvailableStyles.find(style) == std::string::npos ) {
87 Warn("Style: " + style + " was ignored.\n" +
88 "Supported styles: " + fAvailableStyles,
89 fkClass, "SetStyle");
90 return;
91 }
92
93 fStyle = style;
94
95 if ( fStyle == "ROOT_default" ) {
97 } else {
98 fScale = 1.f;
99 }
100}
int G4int
Definition: G4Types.hh:85
void SetLayout(G4int columns, G4int rows)
std::unique_ptr< G4PlotMessenger > fMessenger
static constexpr G4int fkMaxRows
static constexpr std::string_view fkClass
void SetDimensions(G4int width, G4int height)
void SetStyle(const G4String &style)
static constexpr G4int fkMaxColumns
static constexpr G4float fkDefaultScale
void Warn(const G4String &message, const std::string_view inClass, const std::string_view inFunction)