VGM Version 5.3
Loading...
Searching...
No Matches
Geant4GM::MaterialFactory Class Reference

VGM material factory for Geant4. More...

#include <MaterialFactory.h>

Inheritance diagram for Geant4GM::MaterialFactory:

Public Member Functions

 MaterialFactory ()
 
virtual ~MaterialFactory ()
 
virtual VGM::IIsotopeCreateIsotope (const std::string &name, int z, int n, double a)
 Create a chemical isotope.
 
virtual VGM::IElementCreateElement (const std::string &name, const std::string &symbol, double z, double a)
 Create a chemical element.
 
virtual VGM::IElementCreateElement (const std::string &name, const std::string &symbol, const VGM::IsotopeVector &isotopes, const VGM::RelAbundanceVector &relAbundances)
 Create a chemical element.
 
virtual VGM::IElementCreateElement (int z, bool isotopes)
 Create a chemical element.
 
virtual VGM::IMaterialCreateMaterial (const std::string &name, double density, VGM::IElement *element, double radlen, double intlen)
 Create a material.
 
virtual VGM::IMaterialCreateMaterial (const std::string &name, double density, VGM::IElement *element, double radlen, double intlen, VGM::MaterialState state, double temperature, double pressure)
 Create a compound material.
 
virtual VGM::IMaterialCreateMaterial (const std::string &name, double density, const VGM::ElementVector &elements, const VGM::MassFractionVector &fractions)
 Create a compound material.
 
virtual VGM::IMaterialCreateMaterial (const std::string &name, double density, const VGM::ElementVector &elements, const VGM::MassFractionVector &fractions, VGM::MaterialState state, double temperature, double pressure)
 Create a compound material.
 
virtual VGM::IMaterialCreateMaterial (const std::string &name, double density, const VGM::ElementVector &elements, const VGM::AtomCountVector &atomCounts)
 Create a compound material.
 
virtual VGM::IMaterialCreateMaterial (const std::string &name, double density, const VGM::ElementVector &elements, const VGM::AtomCountVector &atomCounts, VGM::MaterialState state, double temperature, double pressure)
 Create a compound material.
 
virtual VGM::IMediumCreateMedium (const std::string &name, int mediumId, VGM::IMaterial *material, int nofParameters, double *parameters)
 Create a tracking medium.
 
virtual bool Import ()
 Import native materials.
 
- Public Member Functions inherited from BaseVGM::VMaterialFactory
 VMaterialFactory (const std::string &name)
 
virtual ~VMaterialFactory ()
 
virtual std::string Name () const
 Return the name of this factory.
 
virtual const VGM::IsotopeStoreIsotopes () const
 Return the store of isotopes.
 
virtual const VGM::ElementStoreElements () const
 Return the store of elements.
 
virtual const VGM::MaterialStoreMaterials () const
 Return the store of materials.
 
virtual const VGM::MediumStoreMedia () const
 Return the store of media.
 
virtual const VGM::IIsotopeIsotope (const std::string &name) const
 Return isotope specified by name.
 
virtual const VGM::IElementElement (const std::string &name) const
 Return element specified by name.
 
virtual const VGM::IMaterialMaterial (const std::string &name) const
 Return material specified by name.
 
virtual const VGM::IMediumMedium (const std::string &name) const
 Return medium specified by name.
 
virtual bool Export (VGM::IMaterialFactory *factory) const
 Export materials to the specified material factory.
 
virtual void PrintIsotopes () const
 Print all isotopes.
 
virtual void PrintElements () const
 Print all elements.
 
virtual void PrintMaterials () const
 Print all materials.
 
virtual void PrintMedia () const
 Print all media.
 
virtual void SetDebug (int debug)
 Set the debug level.
 
virtual int Debug () const
 Return the debug level.
 
- Public Member Functions inherited from VGM::IMaterialFactory
virtual ~IMaterialFactory ()
 

Protected Member Functions

 MaterialFactory (const MaterialFactory &rhs)
 
- Protected Member Functions inherited from BaseVGM::VMaterialFactory
 VMaterialFactory ()
 
 VMaterialFactory (const VMaterialFactory &rhs)
 
virtual VGM::IsotopeStoreIsotopeStore ()
 
virtual VGM::ElementStoreElementStore ()
 
virtual VGM::MaterialStoreMaterialStore ()
 
virtual VGM::MediumStoreMediumStore ()
 

Detailed Description

VGM material factory for Geant4.

Author
Ivana Hrivnacova; IPN Orsay

Definition at line 37 of file MaterialFactory.h.

Constructor & Destructor Documentation

◆ MaterialFactory() [1/2]

Geant4GM::MaterialFactory::MaterialFactory ( )

Standard default constructor

Definition at line 44 of file MaterialFactory.cxx.

◆ ~MaterialFactory()

Geant4GM::MaterialFactory::~MaterialFactory ( )
virtual

Definition at line 63 of file MaterialFactory.cxx.

◆ MaterialFactory() [2/2]

Geant4GM::MaterialFactory::MaterialFactory ( const MaterialFactory & rhs)
protected

Protected copy constructor

Definition at line 53 of file MaterialFactory.cxx.

Member Function Documentation

◆ CreateIsotope()

VGM::IIsotope * Geant4GM::MaterialFactory::CreateIsotope ( const std::string & name,
int z,
int n,
double a )
virtual

Create a chemical isotope.

Parameters
nameits name (must be unique in the factory)
zthe atomic number
nthe number of nucleons
athe mass of a mole in g/mole (optional)

Implements VGM::IMaterialFactory.

Definition at line 183 of file MaterialFactory.cxx.

◆ CreateElement() [1/3]

VGM::IElement * Geant4GM::MaterialFactory::CreateElement ( const std::string & name,
const std::string & symbol,
double z,
double a )
virtual

Create a chemical element.

Parameters
nameits name (must be unique in the factory)
symbolits symbol
zthe effective atomic number
athe effective mass of a mole in g/mole

Implements VGM::IMaterialFactory.

Definition at line 211 of file MaterialFactory.cxx.

◆ CreateElement() [2/3]

VGM::IElement * Geant4GM::MaterialFactory::CreateElement ( const std::string & name,
const std::string & symbol,
const VGM::IsotopeVector & isotopes,
const VGM::RelAbundanceVector & relAbundances )
virtual

Create a chemical element.

Parameters
nameits name (must be unique in the factory)
symbolits symbol
isotopesvector of isotopes constituting this element
relAbundancesvector of relative abundances of isotopes

Implements VGM::IMaterialFactory.

Definition at line 264 of file MaterialFactory.cxx.

◆ CreateElement() [3/3]

VGM::IElement * Geant4GM::MaterialFactory::CreateElement ( int z,
bool isotopes )
virtual

Create a chemical element.

Parameters
zthe effective atomic number
isotopesif true, build element from isotopes

Implements VGM::IMaterialFactory.

Definition at line 290 of file MaterialFactory.cxx.

◆ CreateMaterial() [1/6]

VGM::IMaterial * Geant4GM::MaterialFactory::CreateMaterial ( const std::string & name,
double density,
VGM::IElement * element,
double radlen,
double intlen )
virtual

Create a material.

Parameters
nameits name (must be unique in the factory)
densityin g/cm3
elementelement constituing this material
radlenradiation length in mm
intlennuclear interaction length in mm

Implements VGM::IMaterialFactory.

Definition at line 317 of file MaterialFactory.cxx.

◆ CreateMaterial() [2/6]

VGM::IMaterial * Geant4GM::MaterialFactory::CreateMaterial ( const std::string & name,
double density,
VGM::IElement * element,
double radlen,
double intlen,
VGM::MaterialState state,
double temperature,
double pressure )
virtual

Create a compound material.

Parameters
nameits name (must be unique in the factory)
densityin g/cm3
elementelement constituing this material
radlenradiation length in mm
intlennuclear interaction length in mm
statematerial state
temperaturetemperature in kelvin
pressurepressure in atmosphere

Implements VGM::IMaterialFactory.

Definition at line 334 of file MaterialFactory.cxx.

◆ CreateMaterial() [3/6]

VGM::IMaterial * Geant4GM::MaterialFactory::CreateMaterial ( const std::string & name,
double density,
const VGM::ElementVector & elements,
const VGM::MassFractionVector & fractions )
virtual

Create a compound material.

Parameters
nameits name (must be unique in the factory)
densityin g/cm3
elementsvector of elements constituing this material
fractionsvector of mass fractions of elements constituing this material

Implements VGM::IMaterialFactory.

Definition at line 352 of file MaterialFactory.cxx.

◆ CreateMaterial() [4/6]

VGM::IMaterial * Geant4GM::MaterialFactory::CreateMaterial ( const std::string & name,
double density,
const VGM::ElementVector & elements,
const VGM::MassFractionVector & fractions,
VGM::MaterialState state,
double temperature,
double pressure )
virtual

Create a compound material.

Parameters
nameits name (must be unique in the factory)
densityin g/cm3
elementsvector of elements constituing this material
fractionsvector of mass fractions of elements constituing this material
statematerial state
temperaturetemperature in kelvin
pressurepressure in atmosphere

Implements VGM::IMaterialFactory.

Definition at line 366 of file MaterialFactory.cxx.

◆ CreateMaterial() [5/6]

VGM::IMaterial * Geant4GM::MaterialFactory::CreateMaterial ( const std::string & name,
double density,
const VGM::ElementVector & elements,
const VGM::AtomCountVector & atomCounts )
virtual

Create a compound material.

Parameters
nameits name (must be unique in the factory)
densityin g/cm3
elementsvector of elements constituing this material
atomCountsvector of atom counts of elements constituing this material

Implements VGM::IMaterialFactory.

Definition at line 381 of file MaterialFactory.cxx.

◆ CreateMaterial() [6/6]

VGM::IMaterial * Geant4GM::MaterialFactory::CreateMaterial ( const std::string & name,
double density,
const VGM::ElementVector & elements,
const VGM::AtomCountVector & atomCounts,
VGM::MaterialState state,
double temperature,
double pressure )
virtual

Create a compound material.

Parameters
nameits name (must be unique in the factory)
densityin g/cm3
elementsvector of elements constituing this material
atomCountsvector of atom counts of elements constituing this material
statematerial state
temperaturetemperature in kelvin
pressurepressure in atmosphere

Implements VGM::IMaterialFactory.

Definition at line 395 of file MaterialFactory.cxx.

◆ CreateMedium()

VGM::IMedium * Geant4GM::MaterialFactory::CreateMedium ( const std::string & name,
int mediumId,
VGM::IMaterial * material,
int nofParameters,
double * parameters )
virtual

Create a tracking medium.

Parameters
nameits name (must be unique in the factory)
mediumIdits unique identifier
materialassociated material
nofParametersnumber of defined parameters
parametersarray of parameters

Implements VGM::IMaterialFactory.

Definition at line 410 of file MaterialFactory.cxx.

◆ Import()

bool Geant4GM::MaterialFactory::Import ( )
virtual

Import native materials.

Import all isotopes, elements, materials from G4MaterialTable

Implements VGM::IMaterialFactory.

Definition at line 423 of file MaterialFactory.cxx.


The documentation for this class was generated from the following files: