ATLAS Offline Software
Loading...
Searching...
No Matches
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 "ActsPlugins/Json/MaterialMapJsonConverter.hpp"
21
22namespace Acts {
23 class TrackingGeometry;
24}
25
26class ActsMaterialJsonWriterTool : public extends<AthAlgTool, IActsMaterialJsonWriterTool>
27{
28
29public:
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
41 const Acts::TrackingGeometryMaterial& detMaterial) const override;
42
43 virtual
44 void
45 write(const ActsTrk::GeometryContext& gctx, const Acts::TrackingGeometry& tGeometry) const override;
46
47
48private:
49
50 Gaudi::Property<std::string> m_filePath{this, "OutputFile", "material-maps.json", "Output json file for the Material Map"};
51 Gaudi::Property<bool> m_processSensitives{this, "processSensitives", true, "Write sensitive surface to the json file"};
52 Gaudi::Property<bool> m_processApproaches{this, "processApproaches", true, "Write approche surface to the json file"};
53 Gaudi::Property<bool> m_processRepresenting{this, "processRepresenting", true, "Write representing surface to the json file"};
54 Gaudi::Property<bool> m_processBoundaries{this, "processBoundaries", true, "Write boundary surface to the json file"};
55 Gaudi::Property<bool> m_processVolumes{this, "processVolumes", true, "Write volume to the json file"};
56 Gaudi::Property<bool> m_processDenseVolumes{this, "processDenseVolumes", false, "Write dense volume to the json file"};
57 Gaudi::Property<bool> m_processNonMaterial{this, "processNonMaterial", false, "Add proto material to all surfaces and volumes"};
58};
59
60#endif
Gaudi::Property< bool > m_processSensitives
virtual void write(const ActsTrk::GeometryContext &gctx, const Acts::TrackingGeometryMaterial &detMaterial) const override
Gaudi::Property< bool > m_processVolumes
ActsMaterialJsonWriterTool(const std::string &type, const std::string &name, const IInterface *parent)
Gaudi::Property< std::string > m_filePath
Gaudi::Property< bool > m_processBoundaries
Gaudi::Property< bool > m_processApproaches
Gaudi::Property< bool > m_processDenseVolumes
Gaudi::Property< bool > m_processNonMaterial
virtual StatusCode initialize() override
Gaudi::Property< bool > m_processRepresenting