ATLAS Offline Software
Loading...
Searching...
No Matches
InDetSubDetectorFactoryBase.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef InDetGeoModelUtils_SubDetectorFactoryBase_H
6#define InDetGeoModelUtils_SubDetectorFactoryBase_H
7
10
11#include <memory>
12
13class StoreGateSvc;
14class IGeoDbTagSvc;
15class IRDBAccessSvc;
17
18namespace InDetDD {
19
20// This is the same as InDet::DetectorFactoryBase but without the
21// inheretance of GeoVDetectorFactory and with the addition of
22// access to the material manager.
23
25{
26
27public:
29 : m_athenaComps(athenaComps),
31 {}
32
34 InDetMaterialManager * matManager)
35 : m_athenaComps(athenaComps),
36 m_materialManager(matManager)
37 {}
38
39 StoreGateSvc * detStore() {return m_athenaComps->detStore();}
40
41 const IGeoDbTagSvc * geoDbTagSvc() const {return std::as_const(*m_athenaComps).geoDbTagSvc();}
42
43 IRDBAccessSvc * rdbAccessSvc() {return m_athenaComps->rdbAccessSvc();}
44
45 const IGeometryDBSvc * geomDB() const {return m_athenaComps->geomDB();}
46
48
49 //Declaring the Message method for further use
50 MsgStream& msg (MSG::Level lvl) const { return m_athenaComps->msg(lvl); }
51
52 //Declaring the Method providing Verbosity Level
53 bool msgLvl (MSG::Level lvl) const { return m_athenaComps->msgLvl(lvl); }
54
56
57private:
59
60protected:
62 // Use this std::unique_ptr when this class owns InDetMaterialManager
63 std::unique_ptr<InDetMaterialManager> m_materialManagerUnique;
64};
65
66} // end namespace
67
68#endif // InDetGeoModelUtils_SubDetectorFactoryBase_H
69
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.