SNGeometry Manager Configuration
1 Introduction
This file provides the paths to geometry configuration and files for SuperNEMO
detector. SuperNEMo geometry is mainly wrapped arround geomtools
library and
thus, use most of its primitives.
2 Manager configuration
2.1 Setup label, description and version
#@description Setup label setup_label : string = "snemo::demonstrator" #@description Setup description setup_description : string = "SuperNEMO demonstrator module" #@description Setup version setup_version : string = "3.0"
2.2 Logging priority
#@description Logging priority logging.priority : string = @variant(core:logging_priority|"warning")
2.3 Geometry factory
The geometry factory holds all the files needed for the geometry construction.
2.3.1 Logging priority
#@description Logging priority of the embedded geometry model factory factory.logging.priority : string = @variant(core:logging_priority|"warning")
2.3.2 Geometry files
#@description List of files describing the geometry models factory.geom_files : string[22] as path = \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/source_module/source_calibration.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/source_module/source_frame_horizontal_beams.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/source_module/source_frame_vertical_beams.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/source_module/source_strips.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/source_module/source_foil_support.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/source_module/source_module.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/tracker_modules/pmt_5inch.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/tracker_modules/xwall_module.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/tracker_modules/xwall.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/tracker_modules/gveto_module.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/tracker_modules/gveto.geom" \ "@falaise:config/snemo/common/geometry/3.0/models/tracker_drift_cell_core.geom" \ "@falaise:config/snemo/common/geometry/3.0/models/tracker_drift_cell.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/tracker_modules/tracker_layers.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/tracker_modules/tracker_volumes.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/tracker_modules/tracker_submodules.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/calorimeter_modules/pmt_8inch.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/calorimeter_modules/calorimeter_module.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/calorimeter_modules/calorimeter_walls.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/calorimeter_modules/calorimeter_submodules.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/module_0.geom" \ "@falaise:config/snemo/demonstrator/geometry/3.0/models/setup.geom"
2.4 ID manager
2.4.1 Logging priority
#@description Logging flag of the embedded ID manager id_mgr.logging.priority : string = @variant(core:logging_priority|"warning")
2.4.2 Category list
Categories are used to assign a unique id number (integer) to a geometrical volume.
#@description Source file of the geometry categories used by the ID manager id_mgr.categories_list : string as path = \ "@falaise:config/snemo/demonstrator/geometry/3.0/categories.lis"
2.5 Mapping configuration
#@description Build the embedded mapping dictionnary build_mapping : boolean = false #@description Max depth of the mapping: no items to be mapped mapping.max_depth : integer = 0 #@description Categories not to be registered in the mapping dictionnary mapping.excluded_categories : string[5] = \ "drift_cell_field_wires_set" \ "drift_cell_field_wire" \ "drift_cell_base" \ "drift_cell_cathodic_ring" \ "drift_cell_anodic_wire"
2.6 Plugins configuration
#@description Plugins factory preload from system registration (default=0) plugins.factory_no_preload : boolean = false #@description Plugins initialization at load (default=0) plugins.force_initialization_at_load : boolean = false #@description Configuration files for geometry manager's plugins plugins.configuration_files : string[3] as path = \ "@configuration:materials_plugin.conf" \ "@configuration:magnetic_field_plugin.conf" \ "@configuration:locator_plugin.conf"
3 Material for SuperNEMO detector
3.1 Material driver
We use the definitions of isotopes, elements and materials from the installed
materials library. Here the materials_aliases
definition are locally defined
to change the source foil isotope.
3.1.1 Plugin declaration
#@description The geometry manager plugin for materials #@key_label "name" #@meta_label "type" [name="materials_driver" type="geomtools::materials_plugin"]
3.1.2 Logging priority
#@description Logging priority logging.priority : string = @variant(core:logging_priority|"warning") #@description Materials manager logging priority materials.logging.priority : string = @variant(core:logging_priority|"warning")
3.1.3 Use isotope mass database
Recent release of materials
component changes the default behavior which was
actually wrong (see fix 14824). The default configuration is not to use any kind
of database. To allow the use of Atomic Mass Evaluation data base, we should
indicate it to materials
manager.
#@description Use AME 2003 materials.load_isotope_mass_data : boolean = true
3.1.4 Allow overloading of materials
This property allows the overloading of some materials as it is done, for example, in 3.2 section.
#@description Flag to allow the overloading of materials materials.alias_allow_overload : boolean = true
3.1.5 Files
#@description List of files describing the materials materials.configuration_files : string[7] as path = \ "@materials:data/std_isotopes.def" \ "@materials:data/std_elements.def" \ "@materials:data/std_materials.def" \ "@falaise:config/common/geometry/materials/1.0/elements.def" \ "@falaise:config/common/geometry/materials/1.0/materials.def" \ "@falaise:config/common/geometry/materials/1.0/materials_aliases.def" \ "@configuration:materials_aliases.def"
3.2 Material aliases
This piece of code allows user to define or redefine materials aliases. Here for example, we locally change the source material without changing anything else.
#@description A sample list of elements #@key_label "name" #@meta_label "type" [name="bb_source_material" type="alias"] #@description The alias for the source material : string = @variant(detector:bb_source_material|"snemo::se82_source_material")
4 Magnetic field for SuperNEMO detector
4.1 Magnetic field plugin
4.1.1 Plugin declaration
#@description The geometry manager plugin for emfield #@key_label "name" #@meta_label "type" [name="fields_driver" type="emfield::emfield_geom_plugin"]
4.1.2 Logging priority
#@description Logging priority logging.priority : string = @variant(core:logging_priority|"warning")
4.1.3 EM field manager configuration
#@description Manager logging priority manager.logging.priority : string = @variant(core:logging_priority|"warning") #@description The name of the geometry service manager.services.geometry : string = "Geo" #@description List of EM fields definitions files manager.field_definitions_filenames : string[1] as path = \ "@configuration:magnetic_field_drivers.conf"
EM field defined within manager.field_definitions_filenames
file can be set
independently and at the same time for different G4 volumes. This association
between volumes and field is done by the geom_map
object of emfield
component. For SuperNEMO, constant magnetic field is defined inside demonstrator
module.
#@description Flag to activate the geometry volume/field associations map manager.build_geom_map : boolean = true #@description Manager logging priority manager.geom_map.logging.priority : string = @variant(core:logging_priority|"warning") #@description The list of EM fields associated to some logical volumes manager.geom_map.associations.labels : string[1] = "module" #@description The logical model associated for the label 'module' manager.geom_map.associations.module.volume : string = "module_basic.model.log" #@description The EM field associated for the label 'module' manager.geom_map.associations.module.field_name : string = "B_module" #manager.geom_map.associations.module.field_name : string = "Bz_polynomial"
4.2 Magnetic field drivers
4.2.1 Driver preamble
#@description Definition parameters for some electro-magnetic fields #@key_label "name" #@meta_label "type"
4.2.2 Constant magnetic field
[name="B_module" type="emfield::uniform_magnetic_field"] #@config Configuration parameters for the magnetic field of SuperNEMO #@description Logging flag logging.priority : string = @variant(core:logging_priority|"warning") #@description Default implicit magnetic field unit magnetic_field.unit : string = "gauss" #@description Coordinates of the static magnetic field (Bx, By, Bz) magnetic_field.coordinates : real[3] = 0.0 0.0 @variant(detector:bz_magnitude|25.0)
4.2.3 Polynomial magnetic field
To take into account effects from the calorimeter magnetic shielding as shown in DocDB 3552, we made a variable magnetic field inside tracker
[name="Bz_polynomial" type="emfield::polynomial_magnetic_field"] #@config Configuration parameters for a variable magnetic field #@description Logging flag logging.priority : string = @variant(core:logging_priority|"warning") #@description Default implicit magnetic field unit magnetic_field.unit : string = "gauss" #@description Bz field polynomial degree magnetic_field.Bz.x.polynomial_degree : integer = 2 #@description Bz x-parameters magnetic_field.Bz.x.polynomial_parameters : real[3] = 25.0 0.0 -8e-5 #@description Bz field space limits magnetic_field.Bz.x.limits : real[2] as length = -500 +500 mm
5 Locators for SuperNEMO detector
5.1 Locator driver
5.1.1 Plugin declaration
#@description The geometry manager plugin for locators #@key_label "name" #@meta_label "type" [name="locator_driver" type="snemo::geometry::locator_plugin"]
5.1.2 Logging priority
#@description Logging priority logging.priority : string = @variant(core:logging_priority|"warning")
5.1.3 Geometry requirements
#@description Geometry version requirement (not working with version lower than 2.0) geometry.setup_requirement : string[2] = "snemo(>=2)" "snemo::demonstrator(>=2)"
5.1.4 Module number
#@description SuperNEMO module number locators.module_number : integer = 0