|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef GEOMODELINTERFACES_STOREDMATERIALMANAGER_H
6 #define GEOMODELINTERFACES_STOREDMATERIALMANAGER_H
22 #include "GeoModelKernel/GeoIntrusivePtr.h"
23 #include "GeoModelKernel/GeoMaterial.h"
24 #include "GeoModelKernel/GeoElement.h"
30 using MaterialMap = std::map<std::string, GeoIntrusivePtr<GeoMaterial>>;
46 virtual const GeoElement*
getElement(
unsigned int atomicNumber) = 0;
49 virtual void addMaterial(
const std::string& space, GeoMaterial* material) = 0;
59 virtual std::ostream&
printAll(std::ostream & o=std::cout)
const = 0;
virtual std::ostream & printAll(std::ostream &o=std::cout) const =0
std::map< std::string, GeoIntrusivePtr< GeoMaterial > > MaterialMap
virtual const GeoElement * getElement(const std::string &name)=0
virtual MaterialMapIterator begin() const =0
virtual const GeoElement * getElement(unsigned int atomicNumber)=0
virtual void addMaterial(const std::string &space, GeoMaterial *material)=0
virtual ~StoredMaterialManager()=default
StoredMaterialManager()=default
MaterialMap::const_iterator MaterialMapIterator
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
virtual const GeoMaterial * getMaterial(const std::string &name)=0
virtual MaterialMapIterator end() const =0
This class holds one or more material managers and makes them storeable, under StoreGate.
macros to associate a CLID to a type