22#ifndef BASE_VGM_V_MATERIAL_FACTORY_H
23#define BASE_VGM_V_MATERIAL_FACTORY_H
44 virtual std::string
Name()
const;
70 virtual int Debug()
const;
83 typedef std::map<VGM::IIsotope*, VGM::IIsotope*> IsotopeMap;
84 typedef std::map<VGM::IElement*, VGM::IElement*> ElementMap;
85 typedef std::map<VGM::IMaterial*, VGM::IMaterial*> MaterialMap;
99 ElementMap* ExportElements(
101 MaterialMap* ExportMaterials(
The abstract base class to material factory.
virtual std::string Name() const
Return the name of this factory.
virtual void SetDebug(int debug)
Set the debug level.
virtual VGM::ElementStore & ElementStore()
virtual const VGM::IMedium * Medium(const std::string &name) const
Return medium specified by name.
virtual VGM::MediumStore & MediumStore()
virtual const VGM::MaterialStore & Materials() const
Return the store of materials.
virtual const VGM::IsotopeStore & Isotopes() const
Return the store of isotopes.
virtual VGM::MaterialStore & MaterialStore()
virtual const VGM::IMaterial * Material(const std::string &name) const
Return material specified by name.
virtual const VGM::IElement * Element(const std::string &name) const
Return element specified by name.
virtual const VGM::MediumStore & Media() const
Return the store of media.
virtual const VGM::IIsotope * Isotope(const std::string &name) const
Return isotope specified by name.
virtual VGM::IsotopeStore & IsotopeStore()
virtual void PrintMaterials() const
Print all materials.
virtual const VGM::ElementStore & Elements() const
Return the store of elements.
virtual int Debug() const
Return the debug level.
virtual bool Export(VGM::IMaterialFactory *factory) const
Export materials to the specified material factory.
virtual void PrintMedia() const
Print all media.
virtual void PrintElements() const
Print all elements.
virtual void PrintIsotopes() const
Print all isotopes.
virtual ~VMaterialFactory()
The VGM interface to elements.
The VGM interface to elements.
The VGM interface to material factory providing functions for material conversions.
The VGM interface to materials.
The VGM interface to tracking medium.
std::vector< IMaterial * > MaterialStore
std::vector< IMedium * > MediumStore
std::vector< IIsotope * > IsotopeStore
std::vector< IElement * > ElementStore