ATLAS Offline Software
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 
13 class StoreGateSvc;
14 class IGeoDbTagSvc;
15 class IRDBAccessSvc;
17 
18 namespace 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 
27 public:
29  : m_athenaComps(athenaComps),
31  {}
32 
34  InDetMaterialManager * matManager)
35  : m_athenaComps(athenaComps),
36  m_materialManager(matManager)
37  {}
38 
40 
41  const IGeoDbTagSvc * geoDbTagSvc() const {return std::as_const(*m_athenaComps).geoDbTagSvc();}
42 
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 
57 private:
59 
60 protected:
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 
InDetDD::AthenaComps
Class to hold various Athena components.
Definition: InDetDDAthenaComps.h:21
InDetDD::SubDetectorFactoryBase::geomDB
const IGeometryDBSvc * geomDB() const
Definition: InDetSubDetectorFactoryBase.h:45
InDetDD::SubDetectorFactoryBase::getAthenaComps
InDetDD::AthenaComps * getAthenaComps()
Definition: InDetSubDetectorFactoryBase.h:55
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
InDetDD::SubDetectorFactoryBase::m_materialManager
InDetMaterialManager * m_materialManager
Definition: InDetSubDetectorFactoryBase.h:61
AthMessaging::msgLvl
bool msgLvl(const MSG::Level lvl) const
Test the output level.
Definition: AthMessaging.h:151
IRDBAccessSvc
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
Definition: IRDBAccessSvc.h:45
IGeometryDBSvc
Definition: IGeometryDBSvc.h:21
InDetDD::SubDetectorFactoryBase::rdbAccessSvc
IRDBAccessSvc * rdbAccessSvc()
Definition: InDetSubDetectorFactoryBase.h:43
InDetDDAthenaComps.h
InDetDD::SubDetectorFactoryBase::SubDetectorFactoryBase
SubDetectorFactoryBase(InDetDD::AthenaComps *athenaComps, InDetMaterialManager *matManager)
Definition: InDetSubDetectorFactoryBase.h:33
IGeoDbTagSvc
Definition: IGeoDbTagSvc.h:26
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
InDetMaterialManager
InDetMaterialManager.
Definition: InDetMaterialManager.h:34
InDetDD::SubDetectorFactoryBase::geoDbTagSvc
const IGeoDbTagSvc * geoDbTagSvc() const
Definition: InDetSubDetectorFactoryBase.h:41
InDetDD::SubDetectorFactoryBase::m_materialManagerUnique
std::unique_ptr< InDetMaterialManager > m_materialManagerUnique
Definition: InDetSubDetectorFactoryBase.h:63
InDetDD::SubDetectorFactoryBase::detStore
StoreGateSvc * detStore()
Definition: InDetSubDetectorFactoryBase.h:39
InDetDD::SubDetectorFactoryBase
Definition: InDetSubDetectorFactoryBase.h:25
InDetDD::SubDetectorFactoryBase::msg
MsgStream & msg(MSG::Level lvl) const
Definition: InDetSubDetectorFactoryBase.h:50
InDetDD::AthenaComps::geomDB
const IGeometryDBSvc * geomDB() const
Definition: InDetDDAthenaComps.h:63
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDetDD::SubDetectorFactoryBase::m_athenaComps
InDetDD::AthenaComps * m_athenaComps
Definition: InDetSubDetectorFactoryBase.h:58
InDetDD::SubDetectorFactoryBase::materialManager
InDetMaterialManager * materialManager()
Definition: InDetSubDetectorFactoryBase.h:47
InDetDD::SubDetectorFactoryBase::SubDetectorFactoryBase
SubDetectorFactoryBase(InDetDD::AthenaComps *athenaComps)
Definition: InDetSubDetectorFactoryBase.h:28
InDetDD::AthenaComps::detStore
const StoreGateSvc * detStore() const
Definition: InDetDDAthenaComps.h:53
InDetDD::AthenaComps::rdbAccessSvc
IRDBAccessSvc * rdbAccessSvc()
Definition: InDetDDAthenaComps.h:74
checker_macros.h
Define macros for attributes used to control the static checker.
InDetDD::SubDetectorFactoryBase::msgLvl
bool msgLvl(MSG::Level lvl) const
Definition: InDetSubDetectorFactoryBase.h:53