ATLAS Offline Software
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 <Acts/Material/TrackingGeometryMaterial.hpp>
12 #include "GaudiKernel/IInterface.h"
13 #include "Gaudi/Property.h" /*no forward decl: typedef*/
14 
15 // PACKAGE
18 
19 // ACTS
20 #include "Acts/Plugins/Json/MaterialMapJsonConverter.hpp"
21 
22 namespace Acts {
23  class TrackingGeometry;
24 }
25 
26 class ActsMaterialJsonWriterTool : public extends<AthAlgTool, IActsMaterialJsonWriterTool>
27 {
28 
29 public:
30 
31  virtual StatusCode initialize() override;
32 
33  ActsMaterialJsonWriterTool(const std::string& type, const std::string& name,
34  const IInterface* parent);
35 
37 
38  virtual
39  void
40  write(const ActsGeometryContext& gctx, const Acts::TrackingGeometryMaterial& detMaterial) const override;
41 
42  virtual
43  void
44  write(const ActsGeometryContext& gctx, const Acts::TrackingGeometry& tGeometry) const override;
45 
46 
47 private:
48 
49  Gaudi::Property<std::string> m_filePath{this, "OutputFile", "material-maps.json", "Output json file for the Material Map"};
50  Gaudi::Property<bool> m_processSensitives{this, "processSensitives", true, "Write sensitive surface to the json file"};
51  Gaudi::Property<bool> m_processApproaches{this, "processApproaches", true, "Write approche surface to the json file"};
52  Gaudi::Property<bool> m_processRepresenting{this, "processRepresenting", true, "Write representing surface to the json file"};
53  Gaudi::Property<bool> m_processBoundaries{this, "processBoundaries", true, "Write boundary surface to the json file"};
54  Gaudi::Property<bool> m_processVolumes{this, "processVolumes", true, "Write volume to the json file"};
55  Gaudi::Property<bool> m_processDenseVolumes{this, "processDenseVolumes", false, "Write dense volume to the json file"};
56  Gaudi::Property<bool> m_processNonMaterial{this, "processNonMaterial", false, "Add proto material to all surfaces and volumes"};
57 };
58 
59 #endif
ActsMaterialJsonWriterTool::initialize
virtual StatusCode initialize() override
Definition: ActsMaterialJsonWriterTool.cxx:27
ActsGeometryContext.h
ActsMaterialJsonWriterTool::m_processBoundaries
Gaudi::Property< bool > m_processBoundaries
Definition: ActsMaterialJsonWriterTool.h:53
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
ActsMaterialJsonWriterTool::m_processRepresenting
Gaudi::Property< bool > m_processRepresenting
Definition: ActsMaterialJsonWriterTool.h:52
ActsMaterialJsonWriterTool::m_processSensitives
Gaudi::Property< bool > m_processSensitives
Definition: ActsMaterialJsonWriterTool.h:50
ActsMaterialJsonWriterTool::m_processDenseVolumes
Gaudi::Property< bool > m_processDenseVolumes
Definition: ActsMaterialJsonWriterTool.h:55
ActsMaterialJsonWriterTool::write
virtual void write(const ActsGeometryContext &gctx, const Acts::TrackingGeometryMaterial &detMaterial) const override
Definition: ActsMaterialJsonWriterTool.cxx:35
Acts
Definition: MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/xAODMuonPrepData/UtilFunctions.h:17
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:27
ActsMaterialJsonWriterTool::m_filePath
Gaudi::Property< std::string > m_filePath
Definition: ActsMaterialJsonWriterTool.h:49
ActsMaterialJsonWriterTool::m_processApproaches
Gaudi::Property< bool > m_processApproaches
Definition: ActsMaterialJsonWriterTool.h:51
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:16
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
ActsMaterialJsonWriterTool::m_processVolumes
Gaudi::Property< bool > m_processVolumes
Definition: ActsMaterialJsonWriterTool.h:54
IActsMaterialJsonWriterTool.h
ActsMaterialJsonWriterTool::~ActsMaterialJsonWriterTool
~ActsMaterialJsonWriterTool()
Definition: ActsMaterialJsonWriterTool.cxx:22
AthService.h
ActsMaterialJsonWriterTool::m_processNonMaterial
Gaudi::Property< bool > m_processNonMaterial
Definition: ActsMaterialJsonWriterTool.h:56