ATLAS Offline Software
Geo2G4LogicalVolumeFactory.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 #include "Geo2G4SolidFactory.h"
8 
9 #include "GeoModelKernel/GeoLogVol.h"
10 
11 #include "G4LogicalVolume.hh"
12 #include "G4Material.hh"
13 
15 
17 {
18 }
19 
20 G4LogicalVolume *Geo2G4LogicalVolumeFactory::Build ATLAS_NOT_THREAD_SAFE (const GeoLogVol* theLog)
21 {
22  static Geo2G4SolidFactory theSolidFactory;
23  static Geo2G4MaterialFactory theMaterialFactory;
24  //
25  // Get Material from GeoModel
26  //
27  G4LogicalVolume *theG4Log{};
28  G4Material* theG4Mat=theMaterialFactory.Build(theLog->getMaterial());
29 
30  G4VSolid * theG4Solid = theSolidFactory.Build(theLog->getShape(),theLog->getName());
31 
32  theG4Log = new G4LogicalVolume(theG4Solid,
33  theG4Mat,
34  theLog->getName(),
35  0,0,0); ;
36 
37  return theG4Log;
38 }
Geo2G4LogicalVolumeFactory::Geo2G4LogicalVolumeFactory
Geo2G4LogicalVolumeFactory()
Definition: Geo2G4LogicalVolumeFactory.cxx:16
ATLAS_NOT_THREAD_SAFE
G4LogicalVolume *Geo2G4LogicalVolumeFactory::Build ATLAS_NOT_THREAD_SAFE(const GeoLogVol *theLog)
Definition: Geo2G4LogicalVolumeFactory.cxx:20
Geo2G4LogicalVolumeFactory.h
ServiceAccessor.h
Geo2G4MaterialFactory.h
Geo2G4SolidFactory.h
Geo2G4SolidFactory
Definition: Geo2G4SolidFactory.h:23
Geo2G4MaterialFactory
Definition: Geo2G4MaterialFactory.h:15
Geo2G4MaterialFactory::Build
G4Material * Build(const GeoMaterial *)
Definition: Geo2G4MaterialFactory.cxx:29