VGM Version 5.3
Loading...
Searching...
No Matches
VGM::IMaterialFactory Class Referenceabstract

The VGM interface to material factory providing functions for material conversions. More...

#include <IMaterialFactory.h>

Inheritance diagram for VGM::IMaterialFactory:

Public Member Functions

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

Detailed Description

The VGM interface to material factory providing functions for material conversions.

Author
Ivana Hrivnacova; IPN Orsay

Definition at line 40 of file IMaterialFactory.h.

Constructor & Destructor Documentation

◆ ~IMaterialFactory()

virtual VGM::IMaterialFactory::~IMaterialFactory ( )
inlinevirtual

Definition at line 43 of file IMaterialFactory.h.

Member Function Documentation

◆ CreateIsotope()

virtual IIsotope * VGM::IMaterialFactory::CreateIsotope ( const std::string & name,
int z,
int n,
double a = 0. )
pure 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)

Implemented in Geant4GM::MaterialFactory, and RootGM::MaterialFactory.

◆ CreateElement() [1/3]

virtual IElement * VGM::IMaterialFactory::CreateElement ( const std::string & name,
const std::string & symbol,
double z,
double a )
pure 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

Implemented in Geant4GM::MaterialFactory, and RootGM::MaterialFactory.

◆ CreateElement() [2/3]

virtual IElement * VGM::IMaterialFactory::CreateElement ( const std::string & name,
const std::string & symbol,
const VGM::IsotopeVector & isotopes,
const VGM::RelAbundanceVector & relAbundances )
pure 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

Implemented in Geant4GM::MaterialFactory, and RootGM::MaterialFactory.

◆ CreateElement() [3/3]

virtual IElement * VGM::IMaterialFactory::CreateElement ( int z,
bool isotopes = true )
pure virtual

Create a chemical element.

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

Implemented in Geant4GM::MaterialFactory, and RootGM::MaterialFactory.

◆ CreateMaterial() [1/6]

virtual IMaterial * VGM::IMaterialFactory::CreateMaterial ( const std::string & name,
double density,
VGM::IElement * element,
double radlen,
double intlen )
pure 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

Implemented in Geant4GM::MaterialFactory, and RootGM::MaterialFactory.

◆ CreateMaterial() [2/6]

virtual IMaterial * VGM::IMaterialFactory::CreateMaterial ( const std::string & name,
double density,
VGM::IElement * element,
double radlen,
double intlen,
VGM::MaterialState state,
double temperature,
double pressure )
pure 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

Implemented in Geant4GM::MaterialFactory, and RootGM::MaterialFactory.

◆ CreateMaterial() [3/6]

virtual IMaterial * VGM::IMaterialFactory::CreateMaterial ( const std::string & name,
double density,
const VGM::ElementVector & elements,
const VGM::MassFractionVector & fractions )
pure 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

Implemented in Geant4GM::MaterialFactory, and RootGM::MaterialFactory.

◆ CreateMaterial() [4/6]

virtual IMaterial * VGM::IMaterialFactory::CreateMaterial ( const std::string & name,
double density,
const VGM::ElementVector & elements,
const VGM::MassFractionVector & fractions,
VGM::MaterialState state,
double temperature,
double pressure )
pure 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

Implemented in Geant4GM::MaterialFactory, and RootGM::MaterialFactory.

◆ CreateMaterial() [5/6]

virtual IMaterial * VGM::IMaterialFactory::CreateMaterial ( const std::string & name,
double density,
const VGM::ElementVector & elements,
const VGM::AtomCountVector & atomCounts )
pure 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

Implemented in Geant4GM::MaterialFactory, and RootGM::MaterialFactory.

◆ CreateMaterial() [6/6]

virtual IMaterial * VGM::IMaterialFactory::CreateMaterial ( const std::string & name,
double density,
const VGM::ElementVector & elements,
const VGM::AtomCountVector & atomCounts,
VGM::MaterialState state,
double temperature,
double pressure )
pure 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

Implemented in Geant4GM::MaterialFactory, and RootGM::MaterialFactory.

◆ CreateMedium()

virtual IMedium * VGM::IMaterialFactory::CreateMedium ( const std::string & name,
int mediumId,
VGM::IMaterial * material,
int nofParameters,
double * parameters )
pure 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

Implemented in Geant4GM::MaterialFactory, and RootGM::MaterialFactory.

◆ Name()

virtual std::string VGM::IMaterialFactory::Name ( ) const
pure virtual

Return the name of this factory.

Implemented in BaseVGM::VMaterialFactory.

◆ Isotopes()

virtual const IsotopeStore & VGM::IMaterialFactory::Isotopes ( ) const
pure virtual

Return the store of isotopes.

Implemented in BaseVGM::VMaterialFactory.

◆ Elements()

virtual const ElementStore & VGM::IMaterialFactory::Elements ( ) const
pure virtual

Return the store of elements.

Implemented in BaseVGM::VMaterialFactory.

◆ Materials()

virtual const MaterialStore & VGM::IMaterialFactory::Materials ( ) const
pure virtual

Return the store of materials.

Implemented in BaseVGM::VMaterialFactory.

◆ Media()

virtual const MediumStore & VGM::IMaterialFactory::Media ( ) const
pure virtual

Return the store of media.

Implemented in BaseVGM::VMaterialFactory.

◆ Isotope()

virtual const IIsotope * VGM::IMaterialFactory::Isotope ( const std::string & name) const
pure virtual

Return isotope specified by name.

Implemented in BaseVGM::VMaterialFactory.

◆ Element()

virtual const IElement * VGM::IMaterialFactory::Element ( const std::string & name) const
pure virtual

Return element specified by name.

Implemented in BaseVGM::VMaterialFactory.

◆ Material()

virtual const IMaterial * VGM::IMaterialFactory::Material ( const std::string & name) const
pure virtual

Return material specified by name.

Implemented in BaseVGM::VMaterialFactory.

◆ Medium()

virtual const IMedium * VGM::IMaterialFactory::Medium ( const std::string & name) const
pure virtual

Return medium specified by name.

Implemented in BaseVGM::VMaterialFactory.

◆ Import()

virtual bool VGM::IMaterialFactory::Import ( )
pure virtual

Import native materials.

Implemented in Geant4GM::MaterialFactory, and RootGM::MaterialFactory.

◆ Export()

virtual bool VGM::IMaterialFactory::Export ( IMaterialFactory * factory) const
pure virtual

Export materials to the specified material factory.

Implemented in BaseVGM::VMaterialFactory.

◆ PrintIsotopes()

virtual void VGM::IMaterialFactory::PrintIsotopes ( ) const
pure virtual

Print all isotopes.

Implemented in BaseVGM::VMaterialFactory.

◆ PrintElements()

virtual void VGM::IMaterialFactory::PrintElements ( ) const
pure virtual

Print all elements.

Implemented in BaseVGM::VMaterialFactory.

◆ PrintMaterials()

virtual void VGM::IMaterialFactory::PrintMaterials ( ) const
pure virtual

Print all materials.

Implemented in BaseVGM::VMaterialFactory.

◆ PrintMedia()

virtual void VGM::IMaterialFactory::PrintMedia ( ) const
pure virtual

Print all media.

Implemented in BaseVGM::VMaterialFactory.

◆ SetDebug()

virtual void VGM::IMaterialFactory::SetDebug ( int debug)
pure virtual

Set the debug level.

Implemented in BaseVGM::VMaterialFactory.

◆ Debug()

virtual int VGM::IMaterialFactory::Debug ( ) const
pure virtual

Return the debug level.

Implemented in BaseVGM::VMaterialFactory.


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