Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4AnalysisMessenger Class Reference

#include <G4AnalysisMessenger.hh>

+ Inheritance diagram for G4AnalysisMessenger:

Public Member Functions

 G4AnalysisMessenger (G4VAnalysisManager *manager)
 
 G4AnalysisMessenger ()=delete
 
 ~G4AnalysisMessenger () override
 
void SetNewValue (G4UIcommand *command, G4String value) final
 
- Public Member Functions inherited from G4UImessenger
 G4UImessenger ()=default
 
 G4UImessenger (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
virtual ~G4UImessenger ()
 
virtual G4String GetCurrentValue (G4UIcommand *command)
 
virtual void SetNewValue (G4UIcommand *command, G4String newValue)
 
G4bool operator== (const G4UImessenger &messenger) const
 
G4bool operator!= (const G4UImessenger &messenger) const
 
G4bool CommandsShouldBeInMaster () const
 

Additional Inherited Members

- Protected Member Functions inherited from G4UImessenger
G4String ItoS (G4int i)
 
G4String DtoS (G4double a)
 
G4String BtoS (G4bool b)
 
G4int StoI (const G4String &s)
 
G4long StoL (const G4String &s)
 
G4double StoD (const G4String &s)
 
G4bool StoB (G4String s)
 
void AddUIcommand (G4UIcommand *newCommand)
 
void CreateDirectory (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
template<typename T >
T * CreateCommand (const G4String &cname, const G4String &dsc)
 
- Protected Attributes inherited from G4UImessenger
G4UIdirectorybaseDir = nullptr
 
G4String baseDirName = ""
 
G4bool commandsShouldBeInMaster = false
 

Detailed Description

Definition at line 60 of file G4AnalysisMessenger.hh.

Constructor & Destructor Documentation

◆ G4AnalysisMessenger() [1/2]

G4AnalysisMessenger::G4AnalysisMessenger ( G4VAnalysisManager manager)
explicit

Definition at line 42 of file G4AnalysisMessenger.cc.

43 : fManager(manager)
44{
45 fAnalysisDir = std::make_unique<G4UIdirectory>("/analysis/");
46 fAnalysisDir->SetGuidance("analysis control");
47
48 fOpenFileCmd = CreateCommand<G4UIcmdWithAString>(
49 "openFile", "Open analysis file", "FileName", true);
50 fOpenFileCmd->SetDefaultValue("");
51 fOpenFileCmd->SetToBeBroadcasted(true);
52
53 fWriteCmd = CreateCommandWithoutParameter(
54 "write", "Write analysis data.");
55 fWriteCmd->SetToBeBroadcasted(false);
56
57 fResetCmd = CreateCommandWithoutParameter(
58 "reset", "Reset analysis data.");
59 fResetCmd->SetToBeBroadcasted(false);
60
61 fCloseFileCmd = CreateCommand<G4UIcmdWithABool>(
62 "closeFile", "Close analysis file and (optionally) reset data.", "IsReset", true);
63 fCloseFileCmd->SetDefaultValue(true);
64 fCloseFileCmd->SetToBeBroadcasted(false);
65
66 fListCmd = CreateCommand<G4UIcmdWithABool>(
67 "list", "List all/activate analysis objects.", "OnlyIfActive", true);
68 fListCmd->SetDefaultValue(true);
69
70 fSetActivationCmd = CreateCommand<G4UIcmdWithABool>(
71 "setActivation",
72 "Set activation. \n"
73 "When this option is enabled, only the histograms marked as activated\n"
74 "are returned, filled or saved on file.\n"
75 "No warning is issued when Get or Fill is called on inactive histogram.",
76 "Activation");
77
78 fVerboseCmd = CreateCommand<G4UIcmdWithAnInteger>(
79 "verbose", "Set verbose level", "VerboseLevel");
80 fVerboseCmd->SetRange("VerboseLevel>=0 && VerboseLevel<=4");
81
82 fCompressionCmd = CreateCommand<G4UIcmdWithAnInteger>(
83 "compression", "Set compression level", "CompressionLevel");
84 fCompressionCmd->SetRange("CompressionLevel>=0 && CompressionLevel<=4");
85
86 fSetFileNameCmd = CreateCommand<G4UIcmdWithAString>(
87 "setFileName", "Set name for the histograms & ntuple file", "Filename");
88
89 fSetHistoDirNameCmd = CreateCommand<G4UIcmdWithAString>(
90 "setHistoDirName", "Set name for the histograms directory", "HistoDirName");
91
92 fSetNtupleDirNameCmd = CreateCommand<G4UIcmdWithAString>(
93 "setNtupleDirName", "Set name for the ntuple directory", "NtupleDirName");
94
95 fNtupleMessenger = std::make_unique<G4NtupleMessenger>(manager);
96}

◆ G4AnalysisMessenger() [2/2]

G4AnalysisMessenger::G4AnalysisMessenger ( )
delete

◆ ~G4AnalysisMessenger()

G4AnalysisMessenger::~G4AnalysisMessenger ( )
overridedefault

Member Function Documentation

◆ SetNewValue()

void G4AnalysisMessenger::SetNewValue ( G4UIcommand command,
G4String  value 
)
finalvirtual

Reimplemented from G4UImessenger.

Definition at line 125 of file G4AnalysisMessenger.cc.

126{
127 if ( command == fOpenFileCmd.get() ) {
128 // G4cout << "Calling OpenFile from command for " << fManager << G4endl;
129 fManager->OpenFile(newValues);
130 return;
131 }
132
133 if ( command == fWriteCmd.get() ) {
134 fManager->WriteFromUI();
135 return;
136 }
137
138 if ( command == fResetCmd.get() ) {
139 fManager->ResetFromUI();
140 return;
141 }
142
143 if ( command == fCloseFileCmd.get() ) {
144 fManager->CloseFileFromUI(fCloseFileCmd->GetNewBoolValue(newValues));
145 return;
146 }
147
148 if ( command == fListCmd.get() ) {
149 fManager->List(fListCmd->GetNewBoolValue(newValues));
150 return;
151 }
152
153 if ( command == fSetActivationCmd.get() ) {
154 fManager->SetActivation(fSetActivationCmd->GetNewBoolValue(newValues));
155 return;
156 }
157
158 if ( command == fVerboseCmd.get() ) {
159 fManager->SetVerboseLevel(fVerboseCmd->GetNewIntValue(newValues));
160 return;
161 }
162
163 if ( command == fCompressionCmd.get() ) {
164 fManager->SetCompressionLevel(fCompressionCmd->GetNewIntValue(newValues));
165 return;
166 }
167
168 if ( command == fSetFileNameCmd.get() ) {
169 fManager->SetFileName(newValues);
170 return;
171 }
172
173 if ( command == fSetHistoDirNameCmd.get() ) {
174 fManager->SetHistoDirectoryName(newValues);
175 return;
176 }
177
178 if ( command == fSetNtupleDirNameCmd.get() ) {
179 fManager->SetNtupleDirectoryName(newValues);
180 return;
181 }
182}
void SetActivation(G4bool activation)
G4bool OpenFile(const G4String &fileName="")
G4bool SetHistoDirectoryName(const G4String &dirName)
void SetVerboseLevel(G4int verboseLevel)
G4bool List(G4bool onlyIfActive=true) const
G4bool SetFileName(const G4String &fileName)
void SetCompressionLevel(G4int level)
G4bool SetNtupleDirectoryName(const G4String &dirName)

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