20#ifndef GEANT4_GM_MATERIAL_FACTORY_H
21#define GEANT4_GM_MATERIAL_FACTORY_H
47 const std::string& name,
int z,
int n,
double a);
50 const std::string& name,
const std::string& symbol,
double z,
double a);
59 double density,
VGM::IElement* element,
double radlen,
double intlen);
62 double density,
VGM::IElement* element,
double radlen,
double intlen,
72 double temperature,
double pressure);
81 double temperature,
double pressure);
94 void ImportIsotope(G4Isotope* element);
95 void ImportElement(G4Element* element);
96 void ImportMaterial(G4Material* material);
98 bool CompareIsotopes(
const G4Element* g4Element,
103 std::set<VGM::IElement*> fVacuumElements;
106 static const double fgkTolerance;
The abstract base class to material factory.
VGM material factory for Geant4.
virtual VGM::IIsotope * CreateIsotope(const std::string &name, int z, int n, double a)
Create a chemical isotope.
virtual ~MaterialFactory()
virtual bool Import()
Import native materials.
virtual VGM::IMaterial * CreateMaterial(const std::string &name, double density, VGM::IElement *element, double radlen, double intlen)
Create a material.
virtual VGM::IMedium * CreateMedium(const std::string &name, int mediumId, VGM::IMaterial *material, int nofParameters, double *parameters)
Create a tracking medium.
virtual VGM::IElement * CreateElement(const std::string &name, const std::string &symbol, double z, double a)
Create a chemical element.
The VGM interface to elements.
The VGM interface to elements.
The VGM interface to materials.
The VGM interface to tracking medium.
VGM implementation for Geant4.
std::vector< double > RelAbundanceVector
std::vector< int > AtomCountVector
std::vector< double > MassFractionVector
std::vector< IElement * > ElementVector
std::vector< IIsotope * > IsotopeVector