Bayeux  3.4.1
Core Foundation library for SuperNEMO
material.h
Go to the documentation of this file.
1 /* Author(s): Francois Mauger <mauger@lpccaen.in2p3.fr>
3  * Creation date: 2010-03-13
4  * Last modified: 2010-03-13
5  *
6  * License:
7  *
8  * Description:
9  * Utilities for material reference.
10  *
11  * History:
12  *
13  */
14 
15 #ifndef GEOMTOOLS_MATERIAL_H
16 #define GEOMTOOLS_MATERIAL_H 1
17 
18 // Standard library:
19 #include <iostream>
20 #include <iomanip>
21 #include <string>
22 #include <limits>
23 #include <cmath>
24 #include <list>
25 
26 // Third party:
27 // - Bayeux/datatools:
28 #include <datatools/properties.h>
29 
30 namespace geomtools {
31 
32  class material
33  {
34  public:
35 
36  static std::string & material_prefix();
37  static std::string & material_ref_property();
38  static std::string & material_ref_default();
39  static std::string & material_ref_unknown();
40  static std::string & material_ref_vacuum();
41  static std::string & material_solid_flag();
42  static std::string & material_liquid_flag();
43  static std::string & material_gas_flag();
44  static std::string & material_gas_pressure_property();
45  static std::string & material_gas_temperature_property();
46 
47  static std::string make_key (const std::string & flag_);
48 
49  static void extract (const datatools::properties & source_,
50  datatools::properties & target_);
51 
52  static bool has_flag (const datatools::properties & config_,
53  const std::string & flag_);
54 
55  static bool has_key (const datatools::properties & config_,
56  const std::string & key_);
57 
58  static bool is_gas (const datatools::properties & config_);
59 
60  static bool is_liquid (const datatools::properties & config_);
61 
62  static bool is_solid (const datatools::properties & config_);
63 
64  };
65 
66 
67 } // end of namespace geomtools
68 
69 #endif // GEOMTOOLS_MATERIAL_H
70 
71 /*
72 ** Local Variables: --
73 ** mode: c++ --
74 ** c-file-style: "gnu" --
75 ** tab-width: 2 --
76 ** End: --
77 */
static std::string & material_solid_flag()
static std::string & material_prefix()
static bool is_liquid(const datatools::properties &config_)
static bool has_flag(const datatools::properties &config_, const std::string &flag_)
static std::string & material_liquid_flag()
static bool has_key(const datatools::properties &config_, const std::string &key_)
static std::string & material_ref_vacuum()
static std::string make_key(const std::string &flag_)
static std::string & material_gas_flag()
static std::string & material_ref_property()
static std::string & material_gas_pressure_property()
static bool is_solid(const datatools::properties &config_)
static std::string & material_ref_unknown()
Definition: material.h:32
static bool is_gas(const datatools::properties &config_)
static std::string & material_gas_temperature_property()
static void extract(const datatools::properties &source_, datatools::properties &target_)
static std::string & material_ref_default()
Top-level namespace of the Bayeux/geomtools module library.
Definition: electromagnetic_field_manager.h:39
A dictionary of arbitrary properties.
Definition: properties.h:125