ATLAS Offline Software
Loading...
Searching...
No Matches
InDetSubDetectorFactoryBase.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef InDetGeoModelUtils_SubDetectorFactoryBase_H
6#define InDetGeoModelUtils_SubDetectorFactoryBase_H
7
11
12#include <memory>
13
14class StoreGateSvc;
15class IGeoDbTagSvc;
16class IRDBAccessSvc;
18
19namespace InDetDD {
20
21// This is the same as InDet::DetectorFactoryBase but without the
22// inheretance of GeoVDetectorFactory and with the addition of
23// access to the material manager.
24
26{
27
28public:
30 : m_athenaComps(athenaComps),
32 {}
33
35 InDetMaterialManager * matManager)
36 : m_athenaComps(athenaComps),
37 m_materialManager(matManager)
38 {}
39
40 StoreGateSvc * detStore() {return m_athenaComps->detStore();}
41
42 const IGeoDbTagSvc * geoDbTagSvc() const {return std::as_const(*m_athenaComps).geoDbTagSvc();}
43
44 IRDBAccessSvc * rdbAccessSvc() {return m_athenaComps->rdbAccessSvc();}
45
46 const IGeometryDBSvc * geomDB() const {return m_athenaComps->geomDB();}
47
49
50 //Declaring the Message method for further use
51 MsgStream& msg (MSG::Level lvl) const { return m_athenaComps->msg(lvl); }
52
53 //Declaring the Method providing Verbosity Level
54 bool msgLvl (MSG::Level lvl) const { return m_athenaComps->msgLvl(lvl); }
55
57
58private:
60
61protected:
63 // Use this std::unique_ptr when this class owns InDetMaterialManager
64 std::unique_ptr<InDetMaterialManager> m_materialManagerUnique;
65};
66
67} // end namespace
68
69#endif // InDetGeoModelUtils_SubDetectorFactoryBase_H
70
Define macros for attributes used to control the static checker.
Interface class to access geometry database with possibility to override parameters from a text file.
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
Class to hold various Athena components.
const IGeoDbTagSvc * geoDbTagSvc() const
SubDetectorFactoryBase(InDetDD::AthenaComps *athenaComps, InDetMaterialManager *matManager)
std::unique_ptr< InDetMaterialManager > m_materialManagerUnique
const IGeometryDBSvc * geomDB() const
SubDetectorFactoryBase(InDetDD::AthenaComps *athenaComps)
MsgStream & msg(MSG::Level lvl) const
InDetMaterialManager.
The Athena Transient Store API.
Message Stream Member.