Bayeux  3.4.1
Core Foundation library for SuperNEMO
manager_parameters.h
Go to the documentation of this file.
1 /* Author(s) : Francois Mauger <mauger@lpccaen.in2p3.fr>
3  * Creation date: 2010-02-16
4  * Last modified: 2016-06-27
5  *
6  * License:
7  *
8  * Copyright (C) 2010-2016 Francois Mauger <mauger@lpccaen.in2p3.fr>
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 3 of the License, or (at
13  * your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful, but
16  * WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor,
23  * Boston, MA 02110-1301, USA.
24  *
25  * Description:
26  *
27  * History:
28  *
29  */
30 
31 #ifndef MCTOOLS_G4_MANAGER_PARAMETERS_H
32 #define MCTOOLS_G4_MANAGER_PARAMETERS_H 1
33 
34 // Standard library:
35 #include <string>
36 #include <iostream>
37 #include <vector>
38 #include <set>
39 
40 // Third party:
41 // - Boost:
42 #include <boost/cstdint.hpp>
43 
44 // This project:
45 #include <mctools/utils.h>
46 
47 namespace mctools {
48 
49  namespace g4 {
50 
51  class manager;
52 
55  {
56  bool interactive = false;
57  std::string g4_macro;
58  bool g4_visu = false;
59  std::string logging;
60  std::vector<std::string> dlls;
61  std::string dll_loader_config;
63  uint32_t number_of_events;
65  int mgr_seed;
66  std::string input_prng_states_file;
69  std::string input_prng_seeds_file;
70  std::string init_seed_method;
71  std::string output_prng_seeds_file;
72  std::string output_data_format;
73  std::string output_data_bank_label;
74  std::string output_data_file;
75  std::string vg_name;
76  int vg_seed;
77  std::string eg_name;
78  int eg_seed;
79  int shpf_seed;
80  bool using_time_stat = false;
82  bool forbid_private_hits = false;
84  bool use_run_header_footer = false;
85 
86  public:
87 
90 
92  void set_defaults();
93 
95  void reset();
96 
98  void tree_dump(std::ostream & out_,
99  const std::string & title_ = "",
100  const std::string & indent_ = "",
101  bool inherit_ = false) const;
102 
104  static void setup(const manager_parameters & a_params,
105  manager & a_manager);
106 
107  };
108 
109  } // end of namespace g4
110 
111 } // end of namespace mctools
112 
113 #endif // MCTOOLS_G4_MANAGER_PARAMETERS_H
114 
115 /*
116 ** Local Variables: --
117 ** mode: c++ --
118 ** c-file-style: "gnu" --
119 ** tab-width: 2 --
120 ** End: --
121 */
std::string output_prng_seeds_file
Output file for PRNG's seeds.
Definition: manager_parameters.h:71
std::string eg_name
Name of the primary event generator.
Definition: manager_parameters.h:77
std::string dll_loader_config
Configuration file of the DLL loader.
Definition: manager_parameters.h:61
Definition: base_step_hit.h:32
The set of parameters for the Geant4 simulation manager.
Definition: manager_parameters.h:54
bool interactive
Flag to activate the interactive mode.
Definition: manager_parameters.h:56
std::string output_profiles_activation_rule
The rule to activate Monte Carlo simulation output profiles.
Definition: manager_parameters.h:81
static void setup(const manager_parameters &a_params, manager &a_manager)
Setup a simulation manager from a set of parameters.
bool use_run_header_footer
Add a header/footer in the output data file.
Definition: manager_parameters.h:84
uint32_t number_of_events_modulo
Number of events modulo.
Definition: manager_parameters.h:64
std::string output_data_format
Output data file format.
Definition: manager_parameters.h:72
int eg_seed
Seed for the primary event generator's PRNG.
Definition: manager_parameters.h:78
int shpf_seed
Seed for the hit post-processing factory.
Definition: manager_parameters.h:79
std::string output_prng_states_file
Output file for PRNG's states.
Definition: manager_parameters.h:67
std::string input_prng_seeds_file
Input file for PRNG's seeds.
Definition: manager_parameters.h:69
bool g4_visu
Flag to activate Geant4 visulization.
Definition: manager_parameters.h:58
bool dont_save_no_sensitive_hit_events
Do not save 'no sensitive' MC hits.
Definition: manager_parameters.h:83
std::string logging
Logging priority threshold label.
Definition: manager_parameters.h:59
void tree_dump(std::ostream &out_, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
Smart dump.
std::string vg_name
Name of the vertex generator.
Definition: manager_parameters.h:75
std::string output_data_bank_label
Name of the data bank for the bank output format.
Definition: manager_parameters.h:73
std::string manager_config_filename
Main manager configuration file.
Definition: manager_parameters.h:62
bool forbid_private_hits
Do not save 'private' MC hits at the end of the simulated event.
Definition: manager_parameters.h:82
int vg_seed
Seed for the vertex generator's PRNG.
Definition: manager_parameters.h:76
uint32_t number_of_events
Number of simulated event.
Definition: manager_parameters.h:63
std::string init_seed_method
Method to define the seed initialization.
Definition: manager_parameters.h:70
int prng_states_save_modulo
Period saving the PRNG's internal states.
Definition: manager_parameters.h:68
void set_defaults()
Set default values.
bool using_time_stat
Print time statistic at the end of simulation run.
Definition: manager_parameters.h:80
The Geant4 simulation manager.
Definition: manager.h:111
std::string input_prng_states_file
Input file for PRNG's states.
Definition: manager_parameters.h:66
std::string output_data_file
Name of the output data file.
Definition: manager_parameters.h:74
int mgr_seed
Seed for the Geant4 engine's PRNG.
Definition: manager_parameters.h:65
manager_parameters()
Default constructor.
std::string g4_macro
Name of a Geant4 macro to be executed.
Definition: manager_parameters.h:57
std::vector< std::string > dlls
List of DLLs to be loaded.
Definition: manager_parameters.h:60