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

VGM material factory for Root. More...

#include <MaterialFactory.h>

Inheritance diagram for RootGM::MaterialFactory:

Public Member Functions

 MaterialFactory ()
 
virtual ~MaterialFactory ()
 
virtual VGM::IIsotopeCreateIsotope (const std::string &name, int z, int n, double a=0.)
 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 Root.

Author
Ivana Hrivnacova; IPN Orsay

Definition at line 36 of file MaterialFactory.h.

Constructor & Destructor Documentation

◆ MaterialFactory() [1/2]

RootGM::MaterialFactory::MaterialFactory ( )

Standard default constructor

Definition at line 44 of file MaterialFactory.cxx.

◆ ~MaterialFactory()

RootGM::MaterialFactory::~MaterialFactory ( )
virtual

Definition at line 61 of file MaterialFactory.cxx.

◆ MaterialFactory() [2/2]

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

Protected copy constructor

Definition at line 54 of file MaterialFactory.cxx.

Member Function Documentation

◆ CreateIsotope()

VGM::IIsotope * RootGM::MaterialFactory::CreateIsotope ( const std::string & name,
int z,
int n,
double a = 0. )
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 302 of file MaterialFactory.cxx.

◆ CreateElement() [1/3]

VGM::IElement * RootGM::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 330 of file MaterialFactory.cxx.

◆ CreateElement() [2/3]

VGM::IElement * RootGM::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 361 of file MaterialFactory.cxx.

◆ CreateElement() [3/3]

VGM::IElement * RootGM::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 385 of file MaterialFactory.cxx.

◆ CreateMaterial() [1/6]

VGM::IMaterial * RootGM::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 409 of file MaterialFactory.cxx.

◆ CreateMaterial() [2/6]

VGM::IMaterial * RootGM::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 422 of file MaterialFactory.cxx.

◆ CreateMaterial() [3/6]

VGM::IMaterial * RootGM::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 436 of file MaterialFactory.cxx.

◆ CreateMaterial() [4/6]

VGM::IMaterial * RootGM::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 450 of file MaterialFactory.cxx.

◆ CreateMaterial() [5/6]

VGM::IMaterial * RootGM::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 465 of file MaterialFactory.cxx.

◆ CreateMaterial() [6/6]

VGM::IMaterial * RootGM::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 479 of file MaterialFactory.cxx.

◆ CreateMedium()

VGM::IMedium * RootGM::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 494 of file MaterialFactory.cxx.

◆ Import()

bool RootGM::MaterialFactory::Import ( )
virtual

Import native materials.

Import all elements, materials and media from TGeoManager (Elements are imported during import of materials)

Implements VGM::IMaterialFactory.

Definition at line 507 of file MaterialFactory.cxx.


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