5#ifndef GEOMODELSVC_RDBMATERIALMANAGER_H
6#define GEOMODELSVC_RDBMATERIALMANAGER_H
17#include "GeoModelKernel/GeoIntrusivePtr.h"
18#include "GeoModelKernel/GeoElement.h"
39 virtual const GeoMaterial *
getMaterial(
const std::string &name)
override;
42 virtual const GeoElement *
getElement(
const std::string & name)
override;
45 virtual const GeoElement *
getElement(
unsigned int atomicNumber)
override;
48 virtual void addMaterial(
const std::string& space, GeoMaterial* material)
override;
54 virtual size_t size()
override;
56 virtual std::ostream &
printAll(std::ostream & o=std::cout)
const override;
70 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(const std::string &name) const
virtual std::ostream & printAll(std::ostream &o=std::cout) const override
StatusCode readMaterialsFromDB(ISvcLocator *pSvcLocator)
virtual StoredMaterialManager::MaterialMapIterator end() const override
virtual const GeoMaterial * getMaterial(const std::string &name) 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
GeoEleVec m_elementVector
GeoElement * searchElementVector(const std::string &name) const
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 > > MaterialMap
DetectorAuxData(const std::string &prim_key, IRDBRecordset_ptr materials, IRDBRecordset_ptr matcomponents)
IRDBRecordset_ptr m_materials
IRDBRecordset_ptr m_matcomponents