Bayeux  3.4.1
Core Foundation library for SuperNEMO
materials_driver.h
Go to the documentation of this file.
1 /* Author(s) : François Mauger <mauger@lpccaen.in2p3.fr>
3  * Creation date: 2013-08-23
4  * Last modified: 2017-05-21
5  *
6  * Description: Isotopes/elements/materials application driver.
7  */
8 
9 #ifndef MATERIALS_MATERIALS_DRIVER_H
10 #define MATERIALS_MATERIALS_DRIVER_H 1
11 
12 // Standard Library
13 #include <iostream>
14 #include <string>
15 #include <vector>
16 
17 // Third Party
18 // - Boost:
19 #include <boost/scoped_ptr.hpp>
20 // - Bayeux/datatools:
21 #include <datatools/logger.h>
22 
24 namespace materials {
25 
26  // Forward declaration
27  class manager;
28 
31  {
32  public:
33 
45  };
46 
49 
51  virtual ~materials_driver_params();
52 
54  void reset();
55 
57  void dump(std::ostream & = std::clog) const;
58 
59  public:
60 
62  int action;
64  std::vector<std::string> action_options;
65  std::string show_target;
66  std::vector<std::string> LL_dlls;
67  std::string LL_config;
69 
70  };
71 
74  {
75  public:
76 
79 
81  virtual ~materials_driver();
82 
84  bool is_initialized() const;
85 
87  void initialize(const materials_driver_params & mdp_);
88 
90  void reset();
91 
93  int run_action(std::ostream & out_ = std::cout,
94  std::ostream & log_ = std::clog);
95 
96  private:
97 
98  bool _initialized_;
99  materials_driver_params _params_;
100  std::unique_ptr<manager> _mgr_;
101 
102  };
103 
104 } // end of namespace materials
105 
106 #endif // MATERIALS_MATERIALS_DRIVER_H
107 
108 // Local Variables: --
109 // mode: c++ --
110 // c-file-style: "gnu" --
111 // tab-width: 2 --
112 // End: --
std::vector< std::string > action_options
Definition: materials_driver.h:64
std::vector< std::string > LL_dlls
Definition: materials_driver.h:66
priority
Priority levels for logging from most to least critical.
Definition: logger.h:82
action_flag_type
Supported actions.
Definition: materials_driver.h:35
materials_driver()
Constructor.
datatools::logger::priority logging
Definition: materials_driver.h:61
Driver for materials.
Definition: materials_driver.h:73
virtual ~materials_driver()
Destructor.
bool with_decoration
Definition: materials_driver.h:63
int action
Definition: materials_driver.h:62
bool is_initialized() const
Test initialization status.
int run_action(std::ostream &out_=std::cout, std::ostream &log_=std::clog)
Main run method.
materials_driver_params()
Default constructor.
Utilities for logging information.
std::string show_target
Definition: materials_driver.h:65
std::string LL_config
Definition: materials_driver.h:67
void dump(std::ostream &=std::clog) const
Basic print.
void initialize(const materials_driver_params &mdp_)
Initialization.
virtual ~materials_driver_params()
Destructor.
Parameters for the material driver.
Definition: materials_driver.h:30
Top-level namespace of the Bayeux/materials module library.
Definition: geom_manager_utils.h:14
std::string MaterialsMgrConfigFile
Definition: materials_driver.h:68