ATLAS Offline Software
Loading...
Searching...
No Matches
InDetSubDetectorFactoryBase.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 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
47
48 //Declaring the Message method for further use
49 MsgStream& msg (MSG::Level lvl) const { return m_athenaComps->msg(lvl); }
50
51 //Declaring the Method providing Verbosity Level
52 bool msgLvl (MSG::Level lvl) const { return m_athenaComps->msgLvl(lvl); }
53
55
56private:
58
59protected:
61 // Use this std::unique_ptr when this class owns InDetMaterialManager
62 std::unique_ptr<InDetMaterialManager> m_materialManagerUnique;
63};
64
65} // end namespace
66
67#endif // InDetGeoModelUtils_SubDetectorFactoryBase_H
68
Define macros for attributes used to control the static checker.
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
SubDetectorFactoryBase(InDetDD::AthenaComps *athenaComps)
MsgStream & msg(MSG::Level lvl) const
InDetMaterialManager.
The Athena Transient Store API.
Message Stream Member.