ATLAS Offline Software
Geo2G4SolidFactory.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 GEO2G4_Geo2G4SolidFactory_h
6 #define GEO2G4_Geo2G4SolidFactory_h
7 
8 #include <map>
9 #include <string>
10 
11 #include "GaudiKernel/ServiceHandle.h"
12 
15 #include "StoreGate/StoreGateSvc.h"
16 #include "LArWheelSolid_type.h"
17 
18 class G4VSolid;
19 class GeoShape;
20 class GeoUnidentifiedShape;
21 struct EMECData;
23 {
24 public:
26  typedef std::pair<LArWheelSolid_t, int> LArWheelSolidDef_t;
27  typedef std::map<std::string, LArWheelSolidDef_t> LArWheelSolid_typemap;
28 
30  G4VSolid* Build ATLAS_NOT_THREAD_SAFE (const GeoShape*, std::string name=std::string(""));
31 
32 private:
33  G4VSolid* createLArWheelSolid ATLAS_NOT_THREAD_SAFE (const std::string& name, const LArWheelSolidDef_t & lwsdef, const EMECData &emecData) const;
34  G4VSolid* createLArWheelSliceSolid ATLAS_NOT_THREAD_SAFE (const GeoUnidentifiedShape* ,const EMECData &emecData) const;
35 
39 };
40 
41 #endif
Geo2G4SolidFactory::s_lwsTypes
static const LArWheelSolid_typemap s_lwsTypes
Definition: Geo2G4SolidFactory.h:36
Geo2G4SolidFactory::ATLAS_NOT_THREAD_SAFE
G4VSolid *createLArWheelSolid ATLAS_NOT_THREAD_SAFE(const std::string &name, const LArWheelSolidDef_t &lwsdef, const EMECData &emecData) const
Geo2G4SolidFactory::LArWheelSolid_typemap
std::map< std::string, LArWheelSolidDef_t > LArWheelSolid_typemap
Definition: Geo2G4SolidFactory.h:27
EMECData
Definition: EMECData.h:131
Geo2G4SolidFactory::ATLAS_NOT_THREAD_SAFE
G4VSolid *Build ATLAS_NOT_THREAD_SAFE(const GeoShape *, std::string name=std::string(""))
Geo2G4SolidFactory::Geo2G4SolidFactory
Geo2G4SolidFactory()
Definition: Geo2G4SolidFactory.cxx:146
Geo2G4SolidFactory::StoreGateSvc_t
ServiceHandle< StoreGateSvc > StoreGateSvc_t
Definition: Geo2G4SolidFactory.h:25
Geo2G4SolidFactory::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: Geo2G4SolidFactory.h:38
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
LArWheelSolid_type.h
Geo2G4SolidFactory::LArWheelSolidDef_t
std::pair< LArWheelSolid_t, int > LArWheelSolidDef_t
Definition: Geo2G4SolidFactory.h:26
Geo2G4SolidFactory::ATLAS_NOT_THREAD_SAFE
G4VSolid *createLArWheelSliceSolid ATLAS_NOT_THREAD_SAFE(const GeoUnidentifiedShape *, const EMECData &emecData) const
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
AthMessaging.h
Geo2G4SolidFactory
Definition: Geo2G4SolidFactory.h:23
checker_macros.h
Define macros for attributes used to control the static checker.
StoreGateSvc.h
ServiceHandle< StoreGateSvc >