Geant4-11
Typedefs | Functions | Variables
G4Analysis Namespace Reference

Typedefs

using G4ToolsBaseHisto = tools::histo::base_histo< double, unsigned int, unsigned int, double, double >
 

Functions

G4bool CheckEdges (const std::vector< G4double > &edges)
 
G4bool CheckMinMax (G4double xmin, G4double xmax, const G4String &fcnName="none", const G4String &binSchemeName="linear")
 
G4bool CheckName (const G4String &name, const G4String &objectType)
 
G4bool CheckNbins (G4int nbins)
 
void ComputeEdges (const std::vector< G4double > &edges, G4double unit, G4Fcn fcn, std::vector< G4double > &newEdges)
 
void ComputeEdges (G4int nbins, G4double xmin, G4double xmax, G4double unit, G4Fcn fcn, G4BinScheme, std::vector< G4double > &edges)
 
G4String GetAxisTitle (const G4ToolsBaseHisto &baseHisto, G4int dimension, const G4String &hnType)
 
G4String GetBaseName (const G4String &fileName)
 
G4BinScheme GetBinScheme (const G4String &binSchemeName)
 
G4String GetExtension (const G4String &fileName, const G4String &defaultExtension="")
 
G4Fcn GetFunction (const G4String &fcnName)
 
G4String GetHnFileName (const G4String &fileName, const G4String &fileType, const G4String &hnType, const G4String &hnName)
 
template<typename HT >
G4String GetHnType ()
 
G4double GetMax (const G4ToolsBaseHisto &baseHisto, G4int dimension)
 
G4double GetMin (const G4ToolsBaseHisto &baseHisto, G4int dimension)
 
G4int GetNbins (const G4ToolsBaseHisto &baseHisto, G4int dimension)
 
G4String GetNtupleFileName (const G4String &fileName, const G4String &fileType, const G4String &ntupleName)
 
G4String GetNtupleFileName (const G4String &fileName, const G4String &fileType, G4int ntupleFileNumber)
 
G4AnalysisOutput GetOutput (const G4String &outputName, G4bool warn=true)
 
size_t GetOutputId (const G4String &outputName, G4bool warn=true)
 
G4String GetOutputName (G4AnalysisOutput outputType)
 
G4String GetPlotFileName (const G4String &fileName)
 
G4String GetTitle (const G4ToolsBaseHisto &baseHisto)
 
G4String GetTnFileName (const G4String &fileName, const G4String &fileType)
 
G4double GetUnitValue (const G4String &unit)
 
G4double GetWidth (const G4ToolsBaseHisto &baseHisto, G4int dimension, const G4String &hnType)
 
G4bool SetAxisTitle (G4ToolsBaseHisto &baseHisto, G4int dimension, const G4String &title)
 
G4bool SetTitle (G4ToolsBaseHisto &baseHisto, const G4String &title)
 
void Tokenize (const G4String &line, std::vector< G4String > &tokens)
 
template<typename T >
std::string ToString (const T &value)
 
template<>
std::string ToString< std::string > (const std::string &value)
 
void UpdateTitle (G4String &title, const G4String &unitName, const G4String &fcnName)
 
void Warn (const G4String &message, const std::string_view inClass, const std::string_view inFunction)
 

Variables

constexpr unsigned int kDefaultBasketEntries = 4000
 
constexpr unsigned int kDefaultBasketSize = 32000
 
constexpr G4int kInvalidId { -1 }
 
constexpr std::string_view kNamespaceName { "G4Analysis" }
 
constexpr G4int kVL0 { 0 }
 
constexpr G4int kVL1 { 1 }
 
constexpr G4int kVL2 { 2 }
 
constexpr G4int kVL3 { 3 }
 
constexpr G4int kVL4 { 4 }
 
constexpr G4int kX { 0 }
 
constexpr G4int kY { 1 }
 
constexpr G4int kZ { 2 }
 

Typedef Documentation

◆ G4ToolsBaseHisto

using G4Analysis::G4ToolsBaseHisto = typedef tools::histo::base_histo<double, unsigned int, unsigned int, double, double>

Definition at line 41 of file G4BaseHistoUtilities.hh.

Function Documentation

◆ CheckEdges()

G4bool G4Analysis::CheckEdges ( const std::vector< G4double > &  edges)

Definition at line 116 of file G4AnalysisUtilities.cc.

117{
118 if ( edges.size() <= 1 ) {
119 Warn("Illegal edges vector (size <= 1)",
120 kNamespaceName, "CheckEdges");
121 return false;
122 }
123 else
124 return true;
125
126}
constexpr std::string_view kNamespaceName
void Warn(const G4String &message, const std::string_view inClass, const std::string_view inFunction)

References kNamespaceName, and Warn().

Referenced by G4VAnalysisManager::CreateH1(), G4VAnalysisManager::CreateH2(), G4VAnalysisManager::CreateH3(), G4VAnalysisManager::CreateP1(), G4VAnalysisManager::CreateP2(), G4VAnalysisManager::SetH1(), G4VAnalysisManager::SetH2(), G4VAnalysisManager::SetH3(), G4VAnalysisManager::SetP1(), and G4VAnalysisManager::SetP2().

◆ CheckMinMax()

G4bool G4Analysis::CheckMinMax ( G4double  xmin,
G4double  xmax,
const G4String fcnName = "none",
const G4String binSchemeName = "linear" 
)

Definition at line 88 of file G4AnalysisUtilities.cc.

90{
91 auto result = true;
92
93 if ( xmax <= xmin ) {
94 Warn("Illegal value of number of (xmin >= xmax)",
95 kNamespaceName, "CheckMinMax");
96 result = false;
97 }
98
99 if ( ( fcnName != "none" ) && ( binSchemeName != "linear" ) ) {
100 Warn("Combining Function and Binning scheme is not supported.",
101 kNamespaceName, "CheckMinMax");
102 result = false;
103 }
104
105 if ( ( GetBinScheme(binSchemeName) == G4BinScheme::kLog ||
106 fcnName == "log" || fcnName == "log10" ) && ( xmin == 0 ) ) {
107 Warn("Illegal value of (xmin = 0) with logarithmic function or binning",
108 kNamespaceName, "CheckMinMax");
109 result = false;
110 }
111
112 return result;
113}
G4BinScheme GetBinScheme(const G4String &binSchemeName)
Definition: G4BinScheme.cc:36

References GetBinScheme(), kLog, kNamespaceName, and Warn().

Referenced by G4VAnalysisManager::CreateH1(), G4VAnalysisManager::CreateH2(), G4VAnalysisManager::CreateH3(), G4VAnalysisManager::CreateP1(), G4VAnalysisManager::CreateP2(), G4VAnalysisManager::SetH1(), G4VAnalysisManager::SetH2(), G4VAnalysisManager::SetH3(), G4VAnalysisManager::SetP1(), and G4VAnalysisManager::SetP2().

◆ CheckName()

G4bool G4Analysis::CheckName ( const G4String name,
const G4String objectType 
)

◆ CheckNbins()

G4bool G4Analysis::CheckNbins ( G4int  nbins)

Definition at line 75 of file G4AnalysisUtilities.cc.

76{
77 if ( nbins <= 0 ) {
78 Warn("Illegal value of number of bins: nbins <= 0",
79 kNamespaceName, "CheckNbins");
80 return false;
81 }
82 else
83 return true;
84}

References kNamespaceName, and Warn().

Referenced by G4VAnalysisManager::CreateH1(), G4VAnalysisManager::CreateH2(), G4VAnalysisManager::CreateH3(), G4VAnalysisManager::CreateP1(), G4VAnalysisManager::CreateP2(), G4VAnalysisManager::SetH1(), G4VAnalysisManager::SetH2(), G4VAnalysisManager::SetH3(), G4VAnalysisManager::SetP1(), and G4VAnalysisManager::SetP2().

◆ ComputeEdges() [1/2]

void G4Analysis::ComputeEdges ( const std::vector< G4double > &  edges,
G4double  unit,
G4Fcn  fcn,
std::vector< G4double > &  newEdges 
)

Definition at line 92 of file G4BinScheme.cc.

95{
96// Apply function to defined edges
97
98 for (auto element : edges) {
99 newBins.push_back(fcn(element/unit));
100 }
101}

◆ ComputeEdges() [2/2]

void G4Analysis::ComputeEdges ( G4int  nbins,
G4double  xmin,
G4double  xmax,
G4double  unit,
G4Fcn  fcn,
G4BinScheme  binScheme,
std::vector< G4double > &  edges 
)

Definition at line 53 of file G4BinScheme.cc.

56{
57// Compute edges from parameters
58
59 // Apply units
60 auto xumin = xmin/unit;
61 auto xumax = xmax/unit;
62
63 if ( binScheme == G4BinScheme::kLinear ) {
64 auto dx = (fcn(xumax) - fcn(xumin) ) / nbins;
65 auto binValue = fcn(xumin);
66 while ( G4int(edges.size()) <= nbins ) { // Loop checking, 23.06.2015, I. Hrivnacova
67 edges.push_back(binValue);
68 binValue += dx;
69 }
70 }
71 else if ( binScheme == G4BinScheme::kLog ) {
72 // do not apply fcn
73 auto dlog
74 = (std::log10(xumax) - std::log10(xumin))/ nbins;
75 auto dx = std::pow(10, dlog);
76 auto binValue = xumin;
77 while ( G4int(edges.size()) <= nbins ) { // Loop checking, 23.06.2015, I. Hrivnacova
78 edges.push_back(binValue);
79 binValue *= dx;
80 }
81 }
82 else if ( binScheme == G4BinScheme::kUser ) {
83 // This should never happen, but let's make sure about it
84 // by issuing a warning
85 Warn("User binning scheme setting was ignored.\n"
86 "Linear binning will be applied with given (nbins, xmin, xmax) values",
87 kNamespaceName, "GetBinScheme");
88 }
89}
int G4int
Definition: G4Types.hh:85

References kLinear, kLog, kNamespaceName, kUser, and Warn().

Referenced by anonymous_namespace{G4H1ToolsManager.cc}::ConfigureToolsH1(), anonymous_namespace{G4H2ToolsManager.cc}::ConfigureToolsH2(), anonymous_namespace{G4H3ToolsManager.cc}::ConfigureToolsH3(), anonymous_namespace{G4P1ToolsManager.cc}::ConfigureToolsP1(), anonymous_namespace{G4P2ToolsManager.cc}::ConfigureToolsP2(), anonymous_namespace{G4H1ToolsManager.cc}::CreateToolsH1(), anonymous_namespace{G4H2ToolsManager.cc}::CreateToolsH2(), anonymous_namespace{G4H3ToolsManager.cc}::CreateToolsH3(), anonymous_namespace{G4P1ToolsManager.cc}::CreateToolsP1(), and anonymous_namespace{G4P2ToolsManager.cc}::CreateToolsP2().

◆ GetAxisTitle()

G4String G4Analysis::GetAxisTitle ( const G4ToolsBaseHisto baseHisto,
G4int  dimension,
const G4String hnType 
)

Definition at line 106 of file G4BaseHistoUtilities.cc.

108{
109 G4String title;
110 G4bool result = false;
111 if ( dimension == kX ) {
112 result = baseHisto.annotation(tools::histo::key_axis_x_title(), title);
113 }
114 else if ( dimension == kY ) {
115 result = baseHisto.annotation(tools::histo::key_axis_y_title(), title);
116 }
117 else if ( dimension == kZ ) {
118 result = baseHisto.annotation(tools::histo::key_axis_z_title(), title);
119 }
120
121 if ( ! result ) {
122 Warn("Got wrong dimension " + to_string(dimension) + " for " + hnType,
123 kNamespaceName, "GetAxisTitle");
124
125 return "";
126 }
127
128 return title;
129}
bool G4bool
Definition: G4Types.hh:86
constexpr G4int kX
constexpr G4int kZ
constexpr G4int kY

References kNamespaceName, kX, kY, kZ, and Warn().

Referenced by G4H1ToolsManager::GetH1XAxisTitle(), G4H1ToolsManager::GetH1YAxisTitle(), G4H2ToolsManager::GetH2XAxisTitle(), G4H2ToolsManager::GetH2YAxisTitle(), G4H2ToolsManager::GetH2ZAxisTitle(), G4H3ToolsManager::GetH3XAxisTitle(), G4H3ToolsManager::GetH3YAxisTitle(), G4H3ToolsManager::GetH3ZAxisTitle(), G4P1ToolsManager::GetP1XAxisTitle(), G4P1ToolsManager::GetP1YAxisTitle(), G4P2ToolsManager::GetP2XAxisTitle(), G4P2ToolsManager::GetP2YAxisTitle(), and G4P2ToolsManager::GetP2ZAxisTitle().

◆ GetBaseName()

G4String G4Analysis::GetBaseName ( const G4String fileName)

Definition at line 223 of file G4AnalysisUtilities.cc.

224{
225// Get file base name (without dot)
226
227 G4fs::path filePath(fileName.data());
228 if ( filePath.has_parent_path()) {
229 return filePath.parent_path().string() + "/" + filePath.stem().string();
230 }
231
232 return filePath.stem().string();
233}

Referenced by G4CsvFileManager::CreateNtupleFile(), G4XmlFileManager::CreateNtupleFile(), G4BaseFileManager::GetFullFileName(), GetHnFileName(), GetNtupleFileName(), GetPlotFileName(), GetTnFileName(), G4VFileManager::SetFileName(), and G4NtupleBookingManager::SetFileType().

◆ GetBinScheme()

G4BinScheme G4Analysis::GetBinScheme ( const G4String binSchemeName)

◆ GetExtension()

G4String G4Analysis::GetExtension ( const G4String fileName,
const G4String defaultExtension = "" 
)

Definition at line 236 of file G4AnalysisUtilities.cc.

238{
239// Get file base extension (without dot)
240// If fileName is provided without extension, return defaultExtension
241
242 G4fs::path filePath(fileName.data());
243 if ( filePath.has_extension() ) {
244 auto extension = filePath.extension().string();
245 // remove "."
246 return extension.substr(1, extension.length());
247 }
248
249 return defaultExtension;
250}

Referenced by G4CsvFileManager::CreateNtupleFile(), G4XmlFileManager::CreateNtupleFile(), G4GenericAnalysisManager::CreateNtupleFileManager(), anonymous_namespace{G4GenericFileManager.cc}::FileManagerWarning(), G4GenericFileManager::GetFileManager(), G4VAnalysisManager::GetFileManager(), GetHnFileName(), GetNtupleFileName(), GetTnFileName(), G4GenericAnalysisManager::OpenFileImpl(), G4VFileManager::SetFileName(), G4NtupleBookingManager::SetFileName(), and G4NtupleBookingManager::SetFileType().

◆ GetFunction()

G4Fcn G4Analysis::GetFunction ( const G4String fcnName)

Definition at line 36 of file G4Fcn.cc.

37{
38 G4Fcn fcn = G4FcnIdentity;
39 if ( fcnName != "none" ) {
40 if ( fcnName == "log" ) fcn = std::log;
41 else if ( fcnName == "log10") fcn = std::log10;
42 else if ( fcnName == "exp" ) fcn = std::exp;
43 else {
44 Warn(
45 "\"" + fcnName + "\" function is not supported.\n" +
46 "No function will be applied to histogram values.",
47 kNamespaceName, "GetFunction");
48 }
49 }
50 return fcn;
51}
G4double G4FcnIdentity(G4double value)
Definition: G4Fcn.hh:38
G4double(*)(G4double) G4Fcn
Definition: G4Fcn.hh:35

References G4FcnIdentity(), kNamespaceName, and Warn().

Referenced by G4HnInformation::AddDimension(), anonymous_namespace{G4H1ToolsManager.cc}::ConfigureToolsH1(), anonymous_namespace{G4H2ToolsManager.cc}::ConfigureToolsH2(), anonymous_namespace{G4H3ToolsManager.cc}::ConfigureToolsH3(), anonymous_namespace{G4P1ToolsManager.cc}::ConfigureToolsP1(), anonymous_namespace{G4P2ToolsManager.cc}::ConfigureToolsP2(), anonymous_namespace{G4H1ToolsManager.cc}::CreateToolsH1(), anonymous_namespace{G4H2ToolsManager.cc}::CreateToolsH2(), anonymous_namespace{G4H3ToolsManager.cc}::CreateToolsH3(), anonymous_namespace{G4P1ToolsManager.cc}::CreateToolsP1(), anonymous_namespace{G4P2ToolsManager.cc}::CreateToolsP2(), and G4HnInformation::SetDimension().

◆ GetHnFileName()

G4String G4Analysis::GetHnFileName ( const G4String fileName,
const G4String fileType,
const G4String hnType,
const G4String hnName 
)

Definition at line 253 of file G4AnalysisUtilities.cc.

258{
259// Compose and return the histogram or profile specific file name:
260// - add _hn_hnName suffix to the file base name
261// - add file extension if not present
262
263 auto name = GetBaseName(fileName);
264
265 // Add _hnType_hnName
266 name.append("_");
267 name.append(hnType);
268 name.append("_");
269 name.append(hnName);
270
271 // Add file extension
272 auto extension = GetExtension(fileName, fileType);
273 if ( extension.size() ) {
274 name.append(".");
275 name.append(extension);
276 }
277
278 return name;
279}
G4String GetExtension(const G4String &fileName, const G4String &defaultExtension="")
G4String GetBaseName(const G4String &fileName)

References GetBaseName(), GetExtension(), and G4InuclParticleNames::name().

Referenced by G4BaseFileManager::GetHnFileName().

◆ GetHnType()

template<typename HT >
G4String G4Analysis::GetHnType ( )

Definition at line 99 of file G4AnalysisUtilities.hh.

100{
101 // tools::histo::h1d etc.
102 G4String hnTypeLong = HT::s_class();
103
104 // tools::histo::h1d -> h1 etc.
105 return hnTypeLong.substr(14, 2);
106}

◆ GetMax()

G4double G4Analysis::GetMax ( const G4ToolsBaseHisto baseHisto,
G4int  dimension 
)

◆ GetMin()

G4double G4Analysis::GetMin ( const G4ToolsBaseHisto baseHisto,
G4int  dimension 
)

◆ GetNbins()

G4int G4Analysis::GetNbins ( const G4ToolsBaseHisto baseHisto,
G4int  dimension 
)

◆ GetNtupleFileName() [1/2]

G4String G4Analysis::GetNtupleFileName ( const G4String fileName,
const G4String fileType,
const G4String ntupleName 
)

Definition at line 282 of file G4AnalysisUtilities.cc.

286{
287// Compose and return the ntuple specific file name:
288// - add _nt_ntupleName suffix to the file base name
289// - add _tN suffix if called on thread worker
290// - add file extension if not present
291
292 auto name = GetBaseName(fileName);
293
294 // Add ntupleName
295 name.append("_nt_");
296 name.append(ntupleName);
297
298 // Add thread Id to a file name if MT processing
299 if ( ! G4Threading::IsMasterThread() ) {
300 std::ostringstream os;
302 name.append("_t");
303 name.append(os.str());
304 }
305
306 // Add file extension
307 auto extension = GetExtension(fileName, fileType);
308 if ( extension.size() ) {
309 name.append(".");
310 name.append(extension);
311 }
312
313 return name;
314}
G4bool IsMasterThread()
Definition: G4Threading.cc:124
G4int G4GetThreadId()
Definition: G4Threading.cc:122

References G4Threading::G4GetThreadId(), GetBaseName(), GetExtension(), G4Threading::IsMasterThread(), and G4InuclParticleNames::name().

Referenced by G4BaseFileManager::GetNtupleFileName(), and G4RootFileManager::GetNtupleFileName().

◆ GetNtupleFileName() [2/2]

G4String G4Analysis::GetNtupleFileName ( const G4String fileName,
const G4String fileType,
G4int  ntupleFileNumber 
)

Definition at line 317 of file G4AnalysisUtilities.cc.

321{
322// Compose and return the ntuple specific file name:
323// - add _mFN suffix to the file base name where FN = ntupleFileNumber
324// - add file extension if not present
325
326 auto name = GetBaseName(fileName);
327
328 // Add _M followed by ntupleFileNumber
329 std::ostringstream os;
330 os << ntupleFileNumber;
331 name.append("_m");
332 name.append(os.str());
333
334 // Add file extension
335 auto extension = GetExtension(fileName, fileType);
336 if ( extension.size() ) {
337 name.append(".");
338 name.append(extension);
339 }
340
341 return name;
342}

References GetBaseName(), GetExtension(), and G4InuclParticleNames::name().

◆ GetOutput()

G4AnalysisOutput G4Analysis::GetOutput ( const G4String outputName,
G4bool  warn = true 
)

Definition at line 181 of file G4AnalysisUtilities.cc.

181 {
182 if ( outputName == "csv" ) { return G4AnalysisOutput::kCsv; }
183 else if ( outputName == "hdf5" ) { return G4AnalysisOutput::kHdf5; }
184 else if ( outputName == "root" ) { return G4AnalysisOutput::kRoot; }
185 else if ( outputName == "xml" ) { return G4AnalysisOutput::kXml; }
186 else if ( outputName == "none" ) { return G4AnalysisOutput::kNone; }
187 else {
188 if (warn) {
189 Warn("\"" + outputName + "\" output type is not supported.",
190 kNamespaceName, "GetOutput");
191 }
193 }
194}

References kCsv, kHdf5, kNamespaceName, kNone, kRoot, kXml, and Warn().

Referenced by G4GenericAnalysisManager::CreateNtupleFileManager(), G4GenericFileManager::GetFileManager(), G4GenericFileManager::SetDefaultFileType(), and G4NtupleBookingManager::SetFileName().

◆ GetOutputId()

size_t G4Analysis::GetOutputId ( const G4String outputName,
G4bool  warn = true 
)

◆ GetOutputName()

G4String G4Analysis::GetOutputName ( G4AnalysisOutput  outputType)

Definition at line 197 of file G4AnalysisUtilities.cc.

197 {
198 switch ( output ) {
200 return "csv";
201 break;
203 return "hdf5";
204 break;
206 return "root";
207 break;
209 return "xml";
210 break;
212 return "none";
213 break;
214 }
215 // should never reach this line
216 Warn("\"" + to_string(static_cast<int>(output)) +
217 "\" output type is not supported.",
218 kNamespaceName, "CheckOutputName");
219 return "none";
220}

References kCsv, kHdf5, kNamespaceName, kNone, kRoot, kXml, and Warn().

Referenced by G4GenericFileManager::CreateFileManager(), and G4GenericFileManager::CreateNtupleFileManager().

◆ GetPlotFileName()

G4String G4Analysis::GetPlotFileName ( const G4String fileName)

Definition at line 374 of file G4AnalysisUtilities.cc.

375{
376// Generate plot file name for an output file name
377
378 auto name = GetBaseName(fileName);
379
380 // Add .ps extension
381 name.append(".ps");
382
383 return name;
384}

References GetBaseName(), and G4InuclParticleNames::name().

Referenced by G4BaseFileManager::GetPlotFileName().

◆ GetTitle()

G4String G4Analysis::GetTitle ( const G4ToolsBaseHisto baseHisto)

◆ GetTnFileName()

G4String G4Analysis::GetTnFileName ( const G4String fileName,
const G4String fileType 
)

Definition at line 345 of file G4AnalysisUtilities.cc.

348{
349// Update file base name with the thread suffix:
350// - add _tN suffix if called on thread worker
351// - add file extension if not present
352
353 auto name = GetBaseName(fileName);
354
355 // Add thread Id to a file name if MT processing
356 if ( ! G4Threading::IsMasterThread() ) {
357 std::ostringstream os;
359 name.append("_t");
360 name.append(os.str());
361 }
362
363 // Add file extension
364 auto extension = GetExtension(fileName, fileType);
365 if ( extension.size() ) {
366 name.append(".");
367 name.append(extension);
368 }
369
370 return name;
371}

References G4Threading::G4GetThreadId(), GetBaseName(), GetExtension(), G4Threading::IsMasterThread(), and G4InuclParticleNames::name().

Referenced by G4CsvFileManager::GetNtupleFileName(), G4Hdf5FileManager::GetNtupleFileName(), G4RootFileManager::GetNtupleFileName(), and G4XmlFileManager::GetNtupleFileName().

◆ GetUnitValue()

G4double G4Analysis::GetUnitValue ( const G4String unit)

◆ GetWidth()

G4double G4Analysis::GetWidth ( const G4ToolsBaseHisto baseHisto,
G4int  dimension,
const G4String hnType 
)

Definition at line 62 of file G4BaseHistoUtilities.cc.

64{
65 auto nbins = baseHisto.get_axis(dimension).bins();
66 if ( ! nbins ) {
67 Warn("nbins = 0 ! for " + hnType, kNamespaceName, "GetWidth");
68 return 0.;
69 }
70
71 return ( baseHisto.get_axis(dimension).upper_edge()
72 - baseHisto.get_axis(dimension).lower_edge() )/nbins;
73}

References kNamespaceName, and Warn().

Referenced by G4H1ToolsManager::GetH1Width(), G4H2ToolsManager::GetH2XWidth(), G4H2ToolsManager::GetH2YWidth(), G4H3ToolsManager::GetH3XWidth(), G4H3ToolsManager::GetH3YWidth(), G4H3ToolsManager::GetH3ZWidth(), G4P1ToolsManager::GetP1XWidth(), G4P2ToolsManager::GetP2XWidth(), and G4P2ToolsManager::GetP2YWidth().

◆ SetAxisTitle()

G4bool G4Analysis::SetAxisTitle ( G4ToolsBaseHisto baseHisto,
G4int  dimension,
const G4String title 
)

Definition at line 82 of file G4BaseHistoUtilities.cc.

84{
85 if ( dimension == kX ) {
86 baseHisto.add_annotation(tools::histo::key_axis_x_title(), title);
87 }
88 else if ( dimension == kY ) {
89 baseHisto.add_annotation(tools::histo::key_axis_y_title(), title);
90 }
91 else if ( dimension == kZ ) {
92 baseHisto.add_annotation(tools::histo::key_axis_z_title(), title);
93 }
94
95 return true;
96}

References kX, kY, and kZ.

Referenced by G4H1ToolsManager::SetH1XAxisTitle(), G4H1ToolsManager::SetH1YAxisTitle(), G4H2ToolsManager::SetH2XAxisTitle(), G4H2ToolsManager::SetH2YAxisTitle(), G4H2ToolsManager::SetH2ZAxisTitle(), G4H3ToolsManager::SetH3XAxisTitle(), G4H3ToolsManager::SetH3YAxisTitle(), G4H3ToolsManager::SetH3ZAxisTitle(), G4P1ToolsManager::SetP1XAxisTitle(), G4P1ToolsManager::SetP1YAxisTitle(), G4P2ToolsManager::SetP2XAxisTitle(), G4P2ToolsManager::SetP2YAxisTitle(), and G4P2ToolsManager::SetP2ZAxisTitle().

◆ SetTitle()

G4bool G4Analysis::SetTitle ( G4ToolsBaseHisto baseHisto,
const G4String title 
)

◆ Tokenize()

void G4Analysis::Tokenize ( const G4String line,
std::vector< G4String > &  tokens 
)

Definition at line 162 of file G4AnalysisUtilities.cc.

163{
164 // Define start values
165 std::string::size_type begIdx = 0;
166 std::string::size_type endIdx = 0;
167 G4String token;
168
169 do {
170 if ( GetToken(line, token, begIdx, endIdx) ) {
171 //G4cout << "got token: '" << token << "'" << G4endl;
172 //G4cout << "beg, end: " << begIdx << ", " << endIdx << G4endl;
173 tokens.push_back(token);
174 }
175 begIdx = endIdx + 1;
176 }
177 while ( endIdx < line.length() ); // Loop checking, 23.06.2015, I. Hrivnacova
178}
G4bool GetToken(const G4String &line, G4String &token, std::string::size_type begIdx, std::string::size_type &endIdx)

References anonymous_namespace{G4AnalysisUtilities.cc}::GetToken().

Referenced by G4H1Messenger::SetNewValue(), G4H2Messenger::SetNewValue(), G4H3Messenger::SetNewValue(), G4HnMessenger::SetNewValue(), G4NtupleMessenger::SetNewValue(), G4P1Messenger::SetNewValue(), G4P2Messenger::SetNewValue(), and G4PlotMessenger::SetNewValue().

◆ ToString()

template<typename T >
std::string G4Analysis::ToString ( const T &  value)
inline

Definition at line 121 of file G4AnalysisUtilities.hh.

122{ return std::to_string(value); }

◆ ToString< std::string >()

template<>
std::string G4Analysis::ToString< std::string > ( const std::string &  value)
inline

Definition at line 126 of file G4AnalysisUtilities.hh.

127{ return value; }

◆ UpdateTitle()

void G4Analysis::UpdateTitle ( G4String title,
const G4String unitName,
const G4String fcnName 
)

Definition at line 152 of file G4AnalysisUtilities.cc.

155{
156 if ( fcnName != "none" ) { title += " "; title += fcnName; title += "("; }
157 if ( unitName != "none" ) { title += " ["; title += unitName; title += "]";}
158 if ( fcnName != "none" ) { title += ")"; }
159}

Referenced by anonymous_namespace{G4H1ToolsManager.cc}::AddH1Annotation(), anonymous_namespace{G4H2ToolsManager.cc}::AddH2Annotation(), anonymous_namespace{G4H3ToolsManager.cc}::AddH3Annotation(), anonymous_namespace{G4P1ToolsManager.cc}::AddP1Annotation(), and anonymous_namespace{G4P2ToolsManager.cc}::AddP2Annotation().

◆ Warn()

void G4Analysis::Warn ( const G4String message,
const std::string_view  inClass,
const std::string_view  inFunction 
)

Definition at line 66 of file G4AnalysisUtilities.cc.

69{
70 auto source = std::string(inClass) + "::" + std::string(inFunction);
71 G4Exception(source.data(), "Analysis_W001", JustWarning, message);
72}
@ JustWarning
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35

References G4Exception(), and JustWarning.

Referenced by G4CsvNtupleFileManager::ActionAtCloseFile(), G4Hdf5NtupleFileManager::ActionAtCloseFile(), G4RootNtupleFileManager::ActionAtCloseFile(), G4XmlNtupleFileManager::ActionAtCloseFile(), G4RootPNtupleManager::AddNtupleRow(), CheckEdges(), CheckMinMax(), CheckName(), CheckNbins(), G4PlotManager::CloseFile(), G4CsvAnalysisManager::CloseFileImpl(), G4Hdf5AnalysisManager::CloseFileImpl(), G4XmlAnalysisManager::CloseFileImpl(), G4RootAnalysisManager::CloseFileImpl(), G4GenericAnalysisManager::CloseFileImpl(), ComputeEdges(), anonymous_namespace{G4H1ToolsManager.cc}::ConfigureToolsH1(), anonymous_namespace{G4H2ToolsManager.cc}::ConfigureToolsH2(), anonymous_namespace{G4H3ToolsManager.cc}::ConfigureToolsH3(), anonymous_namespace{G4P1ToolsManager.cc}::ConfigureToolsP1(), anonymous_namespace{G4P2ToolsManager.cc}::ConfigureToolsP2(), G4Hdf5FileManager::CreateDirectory(), G4RootFileManager::CreateDirectory(), G4CsvFileManager::CreateFileImpl(), G4Hdf5FileManager::CreateFileImpl(), G4RootFileManager::CreateFileImpl(), G4XmlFileManager::CreateFileImpl(), G4GenericFileManager::CreateFileManager(), G4RootMainNtupleManager::CreateNtuple(), G4CsvFileManager::CreateNtupleFile(), G4XmlFileManager::CreateNtupleFile(), G4GenericAnalysisManager::CreateNtupleFileManager(), G4GenericFileManager::CreateNtupleFileManager(), G4RootPNtupleManager::CreateNtupleFromMain(), G4Hdf5NtupleManager::CreateTNtuple(), G4RootNtupleManager::CreateTNtupleFromBooking(), anonymous_namespace{G4H1ToolsManager.cc}::CreateToolsH1(), anonymous_namespace{G4H2ToolsManager.cc}::CreateToolsH2(), anonymous_namespace{G4H3ToolsManager.cc}::CreateToolsH3(), anonymous_namespace{G4P1ToolsManager.cc}::CreateToolsP1(), anonymous_namespace{G4P2ToolsManager.cc}::CreateToolsP2(), anonymous_namespace{G4GenericFileManager.cc}::FileManagerWarning(), G4CsvNtupleManager::FinishTNtuple(), G4XmlNtupleManager::FinishTNtuple(), GetAxisTitle(), G4RootNtupleManager::GetBasketEntries(), G4RootNtupleManager::GetBasketSize(), GetBinScheme(), G4GenericFileManager::GetFileManager(), G4VAnalysisManager::GetFileManager(), GetFunction(), G4HnManager::GetHnInformation(), G4RootNtupleManager::GetMainNtupleManager(), G4VAnalysisReader::GetNtuple(), G4NtupleBookingManager::GetNtupleBookingInFunction(), GetOutput(), GetOutputName(), G4XmlRNtupleManager::GetTNtupleRow(), G4Hdf5RNtupleManager::GetTNtupleRow(), G4CsvRNtupleManager::GetTNtupleRow(), G4RootRNtupleManager::GetTNtupleRow(), GetWidth(), G4ToolsAnalysisManager::Merge(), G4RootPNtupleManager::Merge(), anonymous_namespace{G4RootPNtupleManager.cc}::NotExistWarning(), anonymous_namespace{G4VAnalysisManager.cc}::NtupleMergingWarning(), anonymous_namespace{G4VNtupleFileManager.cc}::NtupleMergingWarning(), G4Hdf5RFileManager::OpenDirectory(), G4PlotManager::OpenFile(), G4GenericFileManager::OpenFile(), G4Hdf5FileManager::OpenFile(), G4RootFileManager::OpenFile(), G4XmlFileManager::OpenFile(), G4VAnalysisManager::OpenFile(), G4CsvRFileManager::OpenRFile(), G4XmlRFileManager::OpenRFile(), G4Hdf5RFileManager::OpenRFile(), G4RootRFileManager::OpenRFile(), G4VAnalysisReader::ReadH1(), G4VAnalysisReader::ReadH2(), G4VAnalysisReader::ReadH3(), G4RootRNtupleManager::ReadNtupleImpl(), G4VAnalysisReader::ReadP1(), G4VAnalysisReader::ReadP2(), G4GenericFileManager::SetDefaultFileType(), G4VFileManager::SetFileName(), G4HnManager::SetFileName(), G4NtupleBookingManager::SetFileName(), G4NtupleBookingManager::SetFileType(), G4BaseAnalysisManager::SetFirstId(), G4NtupleBookingManager::SetFirstNtupleColumnId(), G4VFileManager::SetHistoDirectoryName(), G4CsvFileManager::SetHistoDirectoryName(), G4PlotParameters::SetLayout(), G4VFileManager::SetNtupleDirectoryName(), G4CsvFileManager::SetNtupleDirectoryName(), G4RootNtupleFileManager::SetNtupleMerging(), G4RootNtupleFileManager::SetNtupleMergingMode(), G4PlotParameters::SetStyle(), G4AnalysisManagerState::SetVerboseLevel(), G4AnalysisMessengerHelper::WarnAboutParameters(), G4AnalysisMessengerHelper::WarnAboutSetCommands(), G4VAnalysisManager::WriteAscii(), anonymous_namespace{G4GenericAnalysisManager.cc}::WriteHnWarning(), G4PlotManager::WritePage(), and anonymous_namespace{G4NtupleMessenger.cc}::WrongParametersWarning().

Variable Documentation

◆ kDefaultBasketEntries

constexpr unsigned int G4Analysis::kDefaultBasketEntries = 4000
constexpr

Definition at line 64 of file G4AnalysisUtilities.hh.

◆ kDefaultBasketSize

constexpr unsigned int G4Analysis::kDefaultBasketSize = 32000
constexpr

Definition at line 63 of file G4AnalysisUtilities.hh.

◆ kInvalidId

constexpr G4int G4Analysis::kInvalidId { -1 }
constexpr

◆ kNamespaceName

constexpr std::string_view G4Analysis::kNamespaceName { "G4Analysis" }
constexpr

◆ kVL0

constexpr G4int G4Analysis::kVL0 { 0 }
constexpr

Definition at line 58 of file G4AnalysisUtilities.hh.

◆ kVL1

constexpr G4int G4Analysis::kVL1 { 1 }
constexpr

◆ kVL2

constexpr G4int G4Analysis::kVL2 { 2 }
constexpr

◆ kVL3

constexpr G4int G4Analysis::kVL3 { 3 }
constexpr

◆ kVL4

constexpr G4int G4Analysis::kVL4 { 4 }
constexpr

Definition at line 62 of file G4AnalysisUtilities.hh.

Referenced by G4RootNtupleFileManager::ActionAtOpenFile(), G4RootNtupleFileManager::ActionAtWrite(), G4H1ToolsManager::AddH1(), G4H2ToolsManager::AddH2(), G4H3ToolsManager::AddH3(), G4RootPNtupleManager::AddNtupleRow(), G4P1ToolsManager::AddP1(), G4P2ToolsManager::AddP2(), G4VAnalysisManager::Clear(), G4PlotManager::CloseFile(), G4XmlAnalysisManager::CloseFileImpl(), G4RootAnalysisManager::CloseFileImpl(), G4GenericAnalysisManager::CloseFileImpl(), G4GenericFileManager::CloseFiles(), G4CsvAnalysisReader::CloseFilesImpl(), G4Hdf5AnalysisReader::CloseFilesImpl(), G4RootAnalysisReader::CloseFilesImpl(), G4XmlAnalysisReader::CloseFilesImpl(), G4CsvFileManager::CloseNtupleFile(), G4XmlFileManager::CloseNtupleFile(), G4Hdf5FileManager::CreateDirectory(), G4RootFileManager::CreateDirectory(), G4GenericFileManager::CreateFileManager(), G4H1ToolsManager::CreateH1(), G4H2ToolsManager::CreateH2(), G4H3ToolsManager::CreateH3(), G4NtupleBookingManager::CreateNtuple(), G4RootMainNtupleManager::CreateNtuple(), G4CsvFileManager::CreateNtupleFile(), G4XmlFileManager::CreateNtupleFile(), G4GenericAnalysisManager::CreateNtupleFileManager(), G4RootPNtupleManager::CreateNtupleFromMain(), G4RootNtupleFileManager::CreateNtupleManager(), G4P1ToolsManager::CreateP1(), G4P2ToolsManager::CreateP2(), G4GenericFileManager::DeleteEmptyFiles(), G4H1ToolsManager::FillH1(), G4H2ToolsManager::FillH2(), G4H3ToolsManager::FillH3(), G4P1ToolsManager::FillP1(), G4P2ToolsManager::FillP2(), G4ToolsAnalysisManager::Merge(), G4RootPNtupleManager::Merge(), G4Hdf5RFileManager::OpenDirectory(), G4PlotManager::OpenFile(), G4GenericFileManager::OpenFile(), G4GenericAnalysisManager::OpenFileImpl(), G4GenericFileManager::OpenFiles(), G4CsvRFileManager::OpenRFile(), G4XmlRFileManager::OpenRFile(), G4Hdf5RFileManager::OpenRFile(), G4RootRFileManager::OpenRFile(), G4CsvRNtupleManager::ReadNtupleImpl(), G4Hdf5RNtupleManager::ReadNtupleImpl(), G4RootRNtupleManager::ReadNtupleImpl(), G4XmlRNtupleManager::ReadNtupleImpl(), G4GenericAnalysisManager::ResetImpl(), G4H1ToolsManager::SetH1(), G4H2ToolsManager::SetH2(), G4H3ToolsManager::SetH3(), G4XmlRNtupleManager::SetNtupleDColumn(), G4XmlRNtupleManager::SetNtupleFColumn(), G4XmlRNtupleManager::SetNtupleIColumn(), G4RootNtupleFileManager::SetNtupleMergingMode(), G4XmlRNtupleManager::SetNtupleSColumn(), G4P1ToolsManager::SetP1(), G4P2ToolsManager::SetP2(), G4GenericFileManager::WriteFiles(), G4CsvAnalysisManager::WriteImpl(), G4GenericAnalysisManager::WriteImpl(), G4Hdf5AnalysisManager::WriteImpl(), G4XmlAnalysisManager::WriteImpl(), G4RootAnalysisManager::WriteImpl(), and G4PlotManager::WritePage().

◆ kX

constexpr G4int G4Analysis::kX { 0 }
constexpr

Definition at line 54 of file G4AnalysisUtilities.hh.

Referenced by G4H1ToolsManager::FillH1(), G4H2ToolsManager::FillH2(), G4H3ToolsManager::FillH3(), G4P1ToolsManager::FillP1(), G4P2ToolsManager::FillP2(), GetAxisTitle(), G4H1ToolsManager::GetH1Nbins(), G4H1ToolsManager::GetH1Width(), G4H1ToolsManager::GetH1XAxisTitle(), G4H1ToolsManager::GetH1Xmax(), G4H1ToolsManager::GetH1Xmin(), G4H2ToolsManager::GetH2Nxbins(), G4H2ToolsManager::GetH2XAxisTitle(), G4H2ToolsManager::GetH2Xmax(), G4H2ToolsManager::GetH2Xmin(), G4H2ToolsManager::GetH2XWidth(), G4H3ToolsManager::GetH3Nxbins(), G4H3ToolsManager::GetH3XAxisTitle(), G4H3ToolsManager::GetH3Xmax(), G4H3ToolsManager::GetH3Xmin(), G4H3ToolsManager::GetH3XWidth(), G4P1ToolsManager::GetP1Nbins(), G4P1ToolsManager::GetP1XAxisTitle(), G4P1ToolsManager::GetP1Xmax(), G4P1ToolsManager::GetP1Xmin(), G4P1ToolsManager::GetP1XWidth(), G4P2ToolsManager::GetP2Nxbins(), G4P2ToolsManager::GetP2XAxisTitle(), G4P2ToolsManager::GetP2Xmax(), G4P2ToolsManager::GetP2Xmin(), G4P2ToolsManager::GetP2XWidth(), G4HnManager::GetXAxisIsLog(), G4HnManager::GetXUnit(), G4PlotManager::PlotAndWrite(), SetAxisTitle(), G4H1ToolsManager::SetH1XAxisTitle(), G4H2ToolsManager::SetH2XAxisTitle(), G4H3ToolsManager::SetH3XAxisTitle(), G4P1ToolsManager::SetP1XAxisTitle(), G4P2ToolsManager::SetP2XAxisTitle(), G4HnManager::SetXAxisIsLog(), anonymous_namespace{G4H1ToolsManager.cc}::UpdateH1Information(), anonymous_namespace{G4H2ToolsManager.cc}::UpdateH2Information(), anonymous_namespace{G4H3ToolsManager.cc}::UpdateH3Information(), anonymous_namespace{G4P1ToolsManager.cc}::UpdateP1Information(), and anonymous_namespace{G4P2ToolsManager.cc}::UpdateP2Information().

◆ kY

constexpr G4int G4Analysis::kY { 1 }
constexpr

◆ kZ

constexpr G4int G4Analysis::kZ { 2 }
constexpr