allpix::PassiveMaterialModel

Module: passive material models

Base of all passive material models. More…

#include <PassiveMaterialModel.hpp>

Inherited by allpix::BoxModel, allpix::ConeModel, allpix::CylinderModel, allpix::SphereModel

Public Functions

Name
std::shared_ptr< PassiveMaterialModel > factory(const Configuration & config, GeometryManager * geo_manager)
Factory to dynamically create track objects.
PassiveMaterialModel(const Configuration & config, GeometryManager * geo_manager)
Constructs the base passive material model.
virtual ~PassiveMaterialModel() =default
Essential virtual destructor.
virtual double getMaxSize() const =0
Virtual function that will return the maximum size parameter of the model.
virtual void buildVolume(const std::shared_ptr< G4LogicalVolume > & world_log)
const std::string & getName() const
return name of this volume
const std::string & getMotherVolume() const
return name of the mother volume or an empty string of none is set

Protected Functions

Name
virtual std::shared_ptr< G4VSolid > get_solid() const =0
Virtual function that will return a G4VSolid corresponding to the specific model.
void set_visualization_attributes(G4LogicalVolume * volume, G4LogicalVolume * mother_volume)
Set visualization attributes of the passive material as specified in the configuration.
void add_points()
Delivers the points which represent the outer corners of the passive material to the GeometryManager.

Protected Attributes

Name
Configuration config_
GeometryManager * geo_manager_
double max_size_
std::string name_
ROOT::Math::Rotation3D orientation_
ROOT::Math::XYZPoint position_
std::shared_ptr< G4RotationMatrix > rotation_
std::string mother_volume_
std::vector< std::shared_ptr< G4VSolid > > solids_

Detailed Description

class allpix::PassiveMaterialModel;

Base of all passive material models.

Creates the functions that will be overwritten by the passive material models. The G4VSolid of the passive material and it’s optional filling material are defined. The maximum size parameter is defined.

Public Functions Documentation

function factory

static std::shared_ptr< PassiveMaterialModel > factory(
    const Configuration & config,
    GeometryManager * geo_manager
)

Factory to dynamically create track objects.

Parameters:

  • config Configuration with description of the model
  • geo_manager Pointer to the global geometry manager

Return: By param trackModel assigned track model to be used

function PassiveMaterialModel

PassiveMaterialModel(
    const Configuration & config,
    GeometryManager * geo_manager
)

Constructs the base passive material model.

Parameters:

  • config Configuration with description of the model
  • geo_manager Pointer to the global geometry manager

function ~PassiveMaterialModel

virtual ~PassiveMaterialModel() =default

Essential virtual destructor.

function getMaxSize

virtual double getMaxSize() const =0

Virtual function that will return the maximum size parameter of the model.

Return: Maximum size of the model

Reimplemented by: allpix::BoxModel::getMaxSize, allpix::ConeModel::getMaxSize, allpix::CylinderModel::getMaxSize, allpix::SphereModel::getMaxSize

function buildVolume

virtual void buildVolume(
    const std::shared_ptr< G4LogicalVolume > & world_log
)

function getName

inline const std::string & getName() const

return name of this volume

Return: Volume name

function getMotherVolume

inline const std::string & getMotherVolume() const

return name of the mother volume or an empty string of none is set

Return: Mother volume

Protected Functions Documentation

function get_solid

virtual std::shared_ptr< G4VSolid > get_solid() const =0

Virtual function that will return a G4VSolid corresponding to the specific model.

Return: Shared pointer to the model solid

Reimplemented by: allpix::BoxModel::get_solid, allpix::ConeModel::get_solid, allpix::CylinderModel::get_solid, allpix::SphereModel::get_solid

function set_visualization_attributes

void set_visualization_attributes(
    G4LogicalVolume * volume,
    G4LogicalVolume * mother_volume
)

Set visualization attributes of the passive material as specified in the configuration.

Parameters:

  • volume Volume to set the visualization attributes for
  • mother_volume Mother volume of the one in question

function add_points

void add_points()

Delivers the points which represent the outer corners of the passive material to the GeometryManager.

Protected Attributes Documentation

variable config_

Configuration config_;

variable geo_manager_

GeometryManager * geo_manager_;

variable max_size_

double max_size_ {};

variable name_

std::string name_;

variable orientation_

ROOT::Math::Rotation3D orientation_;

variable position_

ROOT::Math::XYZPoint position_;

variable rotation_

std::shared_ptr< G4RotationMatrix > rotation_;

variable mother_volume_

std::string mother_volume_;

variable solids_

std::vector< std::shared_ptr< G4VSolid > > solids_;

Updated on 2025-02-27 at 14:14:46 +0000