5#ifndef GEOMODELSVC_RDBMATERIALMANAGER_H
6#define GEOMODELSVC_RDBMATERIALMANAGER_H
17#include "GeoModelKernel/GeoIntrusivePtr.h"
18#include "GeoModelKernel/GeoElement.h"
40 virtual const GeoMaterial *
getMaterial(std::string_view name)
override;
43 virtual const GeoElement *
getElement(
const std::string & name)
override;
46 virtual const GeoElement *
getElement(
unsigned int atomicNumber)
override;
49 virtual void addMaterial(
const std::string& space, GeoMaterial* material)
override;
55 virtual size_t size()
override;
57 virtual std::ostream &
printAll(std::ostream & o)
const override;
59 virtual std::ostream &
printAll()
const override;
72 using GeoEleVec = std::vector<GeoIntrusivePtr<GeoElement>>;
Definition of the abstract IRDBAccessSvc interface.
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
GeoMaterial * searchMaterialMap(std::string_view name) const
StatusCode readMaterialsFromDB(ISvcLocator *pSvcLocator)
virtual StoredMaterialManager::MaterialMapIterator end() const override
std::vector< GeoIntrusivePtr< GeoElement > > GeoEleVec
void buildSpecialMaterials()
virtual void addMaterial(const std::string &space, GeoMaterial *material) override
std::map< std::string, DetectorAuxData > m_detData
virtual StoredMaterialManager::MaterialMapIterator begin() const override
RDBMaterialManager(ISvcLocator *pSvcLocator)
IRDBRecordset_ptr m_elements
virtual std::ostream & printAll() const override
GeoEleVec m_elementVector
GeoElement * searchElementVector(const std::string &name) const
virtual const GeoMaterial * getMaterial(std::string_view name) override
StoredMaterialManager::MaterialMap m_materialMap
virtual size_t size() override
virtual ~RDBMaterialManager()
virtual const GeoElement * getElement(const std::string &name) override
StoredMaterialManager()=default
MaterialMap::const_iterator MaterialMapIterator
std::map< std::string, GeoIntrusivePtr< GeoMaterial >, std::less<> > MaterialMap
DetectorAuxData(const std::string &prim_key, IRDBRecordset_ptr materials, IRDBRecordset_ptr matcomponents)
IRDBRecordset_ptr m_materials
IRDBRecordset_ptr m_matcomponents