Geant4-11
Data Structures | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
G4PlotterManager Class Reference

#include <G4PlotterManager.hh>

Data Structures

class  Messenger
 

Public Types

using NamedStyle = std::pair< G4String, Style >
 
using Style = std::vector< StyleItem >
 
using StyleItem = std::pair< G4String, G4String >
 
using Styles = std::vector< NamedStyle >
 

Public Member Functions

G4PlotterGetPlotter (const G4String &a_name)
 
StylesGetStyles ()
 
const StylesGetStyles () const
 
void List () const
 

Static Public Member Functions

static G4PlotterManagerGetInstance ()
 

Private Types

typedef std::pair< G4String, G4PlotterNamedPlotter
 

Private Member Functions

void AddStyleParameter (const G4String &param, const G4String &value)
 
StyleFindStyle (const G4String &name)
 
 G4PlotterManager ()
 
 G4PlotterManager (const G4PlotterManager &)
 
void ListStyles () const
 styles: ////////////////////////////////////////////////////// More...
 
G4PlotterManageroperator= (const G4PlotterManager &)
 
void PrintStyle (const G4String &) const
 
void RemoveStyle (const G4String &name)
 
void SelectStyle (const G4String &style)
 
virtual ~G4PlotterManager ()
 

Private Attributes

G4String fCurrentStyle
 
MessengerfMessenger
 
std::vector< NamedPlotterfPlotters
 
Styles fStyles
 

Detailed Description

Definition at line 38 of file G4PlotterManager.hh.

Member Typedef Documentation

◆ NamedPlotter

Definition at line 64 of file G4PlotterManager.hh.

◆ NamedStyle

Definition at line 46 of file G4PlotterManager.hh.

◆ Style

using G4PlotterManager::Style = std::vector<StyleItem>

Definition at line 45 of file G4PlotterManager.hh.

◆ StyleItem

Definition at line 44 of file G4PlotterManager.hh.

◆ Styles

using G4PlotterManager::Styles = std::vector<NamedStyle>

Definition at line 47 of file G4PlotterManager.hh.

Constructor & Destructor Documentation

◆ G4PlotterManager() [1/2]

G4PlotterManager::G4PlotterManager ( )
private

Definition at line 42 of file G4PlotterManager.cc.

42 :fMessenger(0) {
43 fMessenger = new Messenger(*this);
44}
Messenger * fMessenger

References fMessenger.

◆ G4PlotterManager() [2/2]

G4PlotterManager::G4PlotterManager ( const G4PlotterManager )
private

Member Function Documentation

◆ AddStyleParameter()

void G4PlotterManager::AddStyleParameter ( const G4String param,
const G4String value 
)
private

Definition at line 111 of file G4PlotterManager.cc.

111 {
112 Style* _style = FindStyle(fCurrentStyle);
113 if(!_style) {
114 G4cout << "G4PlotterManager::AddStyleParameter: style " << fCurrentStyle << " not found." << G4endl;
115 return;
116 }
117 tools_vforit(StyleItem,(*_style),it) {
118 if((*it).first==a_parameter) {
119 (*it).second = a_value;
120 return;
121 }
122 }
123 _style->push_back(StyleItem(a_parameter,a_value));
124}
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
std::vector< StyleItem > Style
Style * FindStyle(const G4String &name)
std::pair< G4String, G4String > StyleItem

References fCurrentStyle, FindStyle(), G4cout, and G4endl.

Referenced by G4PlotterManager::Messenger::SetNewValue().

◆ FindStyle()

G4PlotterManager::Style * G4PlotterManager::FindStyle ( const G4String name)
private

Definition at line 76 of file G4PlotterManager.cc.

76 {
77 tools_vforit(NamedStyle,fStyles,it){
78 if((*it).first==a_name) return &((*it).second);
79 }
80 return 0;
81}
std::pair< G4String, Style > NamedStyle

References fStyles.

Referenced by AddStyleParameter(), and SelectStyle().

◆ GetInstance()

G4PlotterManager & G4PlotterManager::GetInstance ( )
static

Definition at line 37 of file G4PlotterManager.cc.

37 {
38 static G4PlotterManager s_instance;
39 return s_instance;
40}

Referenced by G4VisCommandSceneAddPlotter::SetNewValue(), and SetPlotterStyles().

◆ GetPlotter()

G4Plotter & G4PlotterManager::GetPlotter ( const G4String a_name)

Definition at line 50 of file G4PlotterManager.cc.

50 {
51 tools_vforit(NamedPlotter,fPlotters,it) {
52 if((*it).first==a_name) {
53 return (*it).second;
54 }
55 }
56 fPlotters.push_back(NamedPlotter(a_name,G4Plotter()));
57 return fPlotters.back().second;
58}
std::vector< NamedPlotter > fPlotters
std::pair< G4String, G4Plotter > NamedPlotter

References fPlotters.

Referenced by G4VisCommandSceneAddPlotter::SetNewValue().

◆ GetStyles() [1/2]

Styles & G4PlotterManager::GetStyles ( )
inline

Definition at line 49 of file G4PlotterManager.hh.

49{return fStyles;}

References fStyles.

◆ GetStyles() [2/2]

const Styles & G4PlotterManager::GetStyles ( ) const
inline

Definition at line 48 of file G4PlotterManager.hh.

48{return fStyles;}

References fStyles.

Referenced by SetPlotterStyles().

◆ List()

void G4PlotterManager::List ( ) const

Definition at line 60 of file G4PlotterManager.cc.

60 {
61 tools_vforcit(NamedPlotter,fPlotters,it) {
62 G4cout << (*it).first << G4endl;
63 }
64}

References fPlotters, G4cout, and G4endl.

◆ ListStyles()

void G4PlotterManager::ListStyles ( ) const
private

styles: //////////////////////////////////////////////////////

Definition at line 70 of file G4PlotterManager.cc.

70 {
71 tools_vforcit(NamedStyle,fStyles,it) {
72 G4cout << (*it).first << G4endl;
73 }
74}

References fStyles, G4cout, and G4endl.

Referenced by G4PlotterManager::Messenger::SetNewValue().

◆ operator=()

G4PlotterManager & G4PlotterManager::operator= ( const G4PlotterManager )
private

◆ PrintStyle()

void G4PlotterManager::PrintStyle ( const G4String a_name) const
private

Definition at line 100 of file G4PlotterManager.cc.

100 {
101 tools_vforcit(NamedStyle,fStyles,it) {
102 if((*it).first==a_name) {
103 G4cout << (*it).first << ":" << G4endl;
104 tools_vforcit(StyleItem,(*it).second,its) {
105 G4cout << " " << (*its).first << " " << (*its).second << G4endl;
106 }
107 }
108 }
109}

References fStyles, G4cout, and G4endl.

Referenced by G4PlotterManager::Messenger::SetNewValue().

◆ RemoveStyle()

void G4PlotterManager::RemoveStyle ( const G4String name)
private

Definition at line 90 of file G4PlotterManager.cc.

90 {
91 tools_vforit(NamedStyle,fStyles,it) {
92 if((*it).first==a_name) {
93 fStyles.erase(it);
94 if(fCurrentStyle==a_name) fCurrentStyle.clear();
95 return;
96 }
97 }
98}

References fCurrentStyle, and fStyles.

Referenced by G4PlotterManager::Messenger::SetNewValue().

◆ SelectStyle()

void G4PlotterManager::SelectStyle ( const G4String style)
private

Definition at line 83 of file G4PlotterManager.cc.

83 {
84 if(!FindStyle(a_name)) {
85 fStyles.push_back(NamedStyle(a_name,Style()));
86 }
87 fCurrentStyle = a_name;
88}

References fCurrentStyle, FindStyle(), and fStyles.

Referenced by G4PlotterManager::Messenger::SetNewValue().

◆ ~G4PlotterManager()

G4PlotterManager::~G4PlotterManager ( )
privatevirtual

Definition at line 46 of file G4PlotterManager.cc.

46 {
47 delete fMessenger;
48}

References fMessenger.

Field Documentation

◆ fCurrentStyle

G4String G4PlotterManager::fCurrentStyle
private

Definition at line 67 of file G4PlotterManager.hh.

Referenced by AddStyleParameter(), RemoveStyle(), and SelectStyle().

◆ fMessenger

Messenger* G4PlotterManager::fMessenger
private

Definition at line 133 of file G4PlotterManager.hh.

Referenced by G4PlotterManager(), and ~G4PlotterManager().

◆ fPlotters

std::vector<NamedPlotter> G4PlotterManager::fPlotters
private

Definition at line 65 of file G4PlotterManager.hh.

Referenced by GetPlotter(), and List().

◆ fStyles

Styles G4PlotterManager::fStyles
private

The documentation for this class was generated from the following files: