ATLAS Offline Software
Simulation
G4Atlas
G4AtlasInterfaces
G4AtlasInterfaces
IDetectorConstructionTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef G4AtlasInterfaces_IDetectorConstructionTool_H
6
#define G4AtlasInterfaces_IDetectorConstructionTool_H
7
8
// Include files
9
#include <string>
10
#include <vector>
11
// from Gaudi
12
#include "GaudiKernel/IAlgTool.h"
13
14
class
G4VPhysicalVolume;
15
class
G4VUserDetectorConstruction;
16
25
class
IDetectorConstructionTool
:
virtual
public
IAlgTool {
26
public
:
27
// When using the default deleter, std::unique_ptr requires a complete type at
28
// the point where the destructor is called (i.e. when calling std::unique_ptr
29
// destructor, move assignment, and reset()). By having implementers of this
30
// interface provide a custom deleter, clients don't need to have a complete
31
// type for G4VUserDetectorConstruction
32
using
Deleter
= std::function<void(G4VUserDetectorConstruction*)>;
33
using
UPDetectorConstruction
=
34
std::unique_ptr<G4VUserDetectorConstruction, Deleter>;
36
DeclareInterfaceID
(
IDetectorConstructionTool
, 1, 0);
37
38
virtual
UPDetectorConstruction
GetDetectorConstruction
() = 0;
39
40
virtual
std::vector<std::string>&
GetParallelWorldNames
() = 0;
41
};
42
#endif
IDetectorConstructionTool
Definition:
IDetectorConstructionTool.h:25
IDetectorConstructionTool::GetDetectorConstruction
virtual UPDetectorConstruction GetDetectorConstruction()=0
IDetectorConstructionTool::Deleter
std::function< void(G4VUserDetectorConstruction *)> Deleter
Definition:
IDetectorConstructionTool.h:32
IDetectorConstructionTool::GetParallelWorldNames
virtual std::vector< std::string > & GetParallelWorldNames()=0
IDetectorConstructionTool::DeclareInterfaceID
DeclareInterfaceID(IDetectorConstructionTool, 1, 0)
Creates the InterfaceID and interfaceID() method.
IDetectorConstructionTool::UPDetectorConstruction
std::unique_ptr< G4VUserDetectorConstruction, Deleter > UPDetectorConstruction
Definition:
IDetectorConstructionTool.h:34
Generated on Tue Sep 2 2025 21:12:44 for ATLAS Offline Software by
1.8.18