 |
ATLAS Offline Software
|
Go to the documentation of this file.
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>>;
virtual void addMaterial(const std::string &space, GeoMaterial *material) override
std::map< std::string, GeoIntrusivePtr< GeoMaterial > > MaterialMap
StoredMaterialManager::MaterialMap m_materialMap
This is a material manager which gets material definitions from the Geometry DB (Oracle)
GeoEleVec m_elementVector
Definition of the abstract IRDBAccessSvc interface.
IRDBRecordset_ptr m_materials
::StatusCode StatusCode
StatusCode definition for legacy code.
IRDBRecordset_ptr m_matcomponents
Class to provide easy MsgStream access and capabilities.
StatusCode readMaterialsFromDB(ISvcLocator *pSvcLocator)
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
virtual size_t size() override
virtual const GeoMaterial * getMaterial(const std::string &name) override
virtual std::ostream & printAll(std::ostream &o=std::cout) const override
virtual const GeoElement * getElement(const std::string &name) override
virtual ~RDBMaterialManager()
RDBMaterialManager(ISvcLocator *pSvcLocator)
DetectorAuxData(const std::string &prim_key, IRDBRecordset_ptr materials, IRDBRecordset_ptr matcomponents)
MaterialMap::const_iterator MaterialMapIterator
void buildSpecialMaterials()
GeoMaterial * searchMaterialMap(const std::string &name) const
This class holds one or more material managers and makes them storeable, under StoreGate.
std::map< std::string, DetectorAuxData > m_detData
virtual StoredMaterialManager::MaterialMapIterator begin() const override
virtual StoredMaterialManager::MaterialMapIterator end() const override
IRDBRecordset_ptr m_elements
GeoElement * searchElementVector(const std::string &name) const
std::vector< GeoIntrusivePtr< GeoElement > > GeoEleVec