ATLAS Offline Software
Tracking
Acts
ActsGeometry
ActsGeometry
ActsMaterialJsonWriterTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ACTSGEOMETRY_ACTSMATERIALJSONWRITERTOOL_H
6
#define ACTSGEOMETRY_ACTSMATERIALJSONWRITERTOOL_H
7
8
// ATHENA
9
#include "
AthenaBaseComps/AthAlgTool.h
"
10
#include "
AthenaBaseComps/AthService.h
"
11
#include "GaudiKernel/IInterface.h"
12
#include "Gaudi/Property.h"
/*no forward decl: typedef*/
13
14
// PACKAGE
15
#include "
ActsGeometryInterfaces/ActsGeometryContext.h
"
16
#include "
ActsGeometryInterfaces/IActsMaterialJsonWriterTool.h
"
17
18
// ACTS
19
#include "Acts/Plugins/Json/MaterialMapJsonConverter.hpp"
20
21
namespace
Acts
{
22
class
TrackingGeometry;
23
}
24
25
class
ActsMaterialJsonWriterTool
:
public
extends<AthAlgTool, IActsMaterialJsonWriterTool>
26
{
27
28
public
:
29
30
virtual
StatusCode
initialize
()
override
;
31
32
ActsMaterialJsonWriterTool
(
const
std::string&
type
,
const
std::string&
name
,
33
const
IInterface*
parent
);
34
35
~ActsMaterialJsonWriterTool
();
36
37
virtual
38
void
39
write
(
const
ActsGeometryContext
& gctx,
const
Acts::MaterialMapJsonConverter::DetectorMaterialMaps
& detMaterial)
const override
;
40
41
virtual
42
void
43
write
(
const
ActsGeometryContext
& gctx,
const
Acts::TrackingGeometry& tGeometry)
const override
;
44
45
46
private
:
47
48
Gaudi::Property<std::string>
m_filePath
{
this
,
"OutputFile"
,
"material-maps.json"
,
"Output json file for the Material Map"
};
49
Gaudi::Property<bool>
m_processSensitives
{
this
,
"processSensitives"
,
true
,
"Write sensitive surface to the json file"
};
50
Gaudi::Property<bool>
m_processApproaches
{
this
,
"processApproaches"
,
true
,
"Write approche surface to the json file"
};
51
Gaudi::Property<bool>
m_processRepresenting
{
this
,
"processRepresenting"
,
true
,
"Write representing surface to the json file"
};
52
Gaudi::Property<bool>
m_processBoundaries
{
this
,
"processBoundaries"
,
true
,
"Write boundary surface to the json file"
};
53
Gaudi::Property<bool>
m_processVolumes
{
this
,
"processVolumes"
,
true
,
"Write volume to the json file"
};
54
Gaudi::Property<bool>
m_processDenseVolumes
{
this
,
"processDenseVolumes"
,
false
,
"Write dense volume to the json file"
};
55
Gaudi::Property<bool>
m_processNonMaterial
{
this
,
"processNonMaterial"
,
false
,
"Add proto material to all surfaces and volumes"
};
56
};
57
58
#endif
ActsMaterialJsonWriterTool::initialize
virtual StatusCode initialize() override
Definition:
ActsMaterialJsonWriterTool.cxx:26
ActsGeometryContext.h
ActsMaterialJsonWriterTool::m_processBoundaries
Gaudi::Property< bool > m_processBoundaries
Definition:
ActsMaterialJsonWriterTool.h:52
ActsMaterialJsonWriterTool::write
virtual void write(const ActsGeometryContext &gctx, const Acts::MaterialMapJsonConverter::DetectorMaterialMaps &detMaterial) const override
Definition:
ActsMaterialJsonWriterTool.cxx:34
Acts::DetectorMaterialMaps
std::pair< SurfaceMaterialMap, VolumeMaterialMap > DetectorMaterialMaps
Definition:
ActsMaterialMapping.h:42
ActsMaterialJsonWriterTool::m_processRepresenting
Gaudi::Property< bool > m_processRepresenting
Definition:
ActsMaterialJsonWriterTool.h:51
ActsMaterialJsonWriterTool::m_processSensitives
Gaudi::Property< bool > m_processSensitives
Definition:
ActsMaterialJsonWriterTool.h:49
ActsMaterialJsonWriterTool::m_processDenseVolumes
Gaudi::Property< bool > m_processDenseVolumes
Definition:
ActsMaterialJsonWriterTool.h:54
Acts
Definition:
ChamberAssembleTool.h:18
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition:
test_pyathena.py:15
ActsMaterialJsonWriterTool
Definition:
ActsMaterialJsonWriterTool.h:26
ActsMaterialJsonWriterTool::m_filePath
Gaudi::Property< std::string > m_filePath
Definition:
ActsMaterialJsonWriterTool.h:48
ActsMaterialJsonWriterTool::m_processApproaches
Gaudi::Property< bool > m_processApproaches
Definition:
ActsMaterialJsonWriterTool.h:50
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition:
ActsGeometryContext.h:27
ActsMaterialJsonWriterTool::ActsMaterialJsonWriterTool
ActsMaterialJsonWriterTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition:
ActsMaterialJsonWriterTool.cxx:15
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:228
ActsMaterialJsonWriterTool::m_processVolumes
Gaudi::Property< bool > m_processVolumes
Definition:
ActsMaterialJsonWriterTool.h:53
python.CaloScaleNoiseConfig.type
type
Definition:
CaloScaleNoiseConfig.py:78
IActsMaterialJsonWriterTool.h
ActsMaterialJsonWriterTool::~ActsMaterialJsonWriterTool
~ActsMaterialJsonWriterTool()
Definition:
ActsMaterialJsonWriterTool.cxx:21
AthService.h
ActsMaterialJsonWriterTool::m_processNonMaterial
Gaudi::Property< bool > m_processNonMaterial
Definition:
ActsMaterialJsonWriterTool.h:55
Generated on Sun Dec 22 2024 21:06:36 for ATLAS Offline Software by
1.8.18