22#include "GaudiKernel/ITHistSvc.h"
44 m_outputFile <<
" ============================= TrackingGeometry ASCII file (BOF) =============================" << std::endl;
52 m_outputFile <<
" ============================= TrackingGeometry ASCII file (EOF) =============================" << std::endl;
64 std::stringstream levelBuffer;
65 for (
size_t il = 0; il < level; ++il) levelBuffer <<
" ";
68 std::string rotationOffset = levelBuffer.str() +
" ";
71 m_outputFile << levelBuffer.str() <<
" - listing Trk::BoundarySurface objects :" << std::endl;
73 for (
size_t ib = 0 ; ib < bSurfaces.size(); ++ib ){
74 if (
processNode(bSurfaces[ib]->surfaceRepresentation(), level+4).isFailure() )
81 m_outputFile << levelBuffer.str() <<
" - contains " << layerArray->
arrayObjects().size() <<
" confined Trk::Layer objects." << std::endl;
82 m_outputFile << levelBuffer.str() <<
" - listing Trk::Layer objects :" << std::endl;
88 m_outputFile << levelBuffer.str() <<
" - contains " << confinedVolumes->
arrayObjects().size() <<
" confined Trk::TrackingVolume objects." << std::endl;
89 m_outputFile << levelBuffer.str() <<
" - stepping down in hierarchy to Trk::TrackingVolume objects :" << std::endl;
92 return StatusCode::SUCCESS;
100 std::stringstream levelBuffer;
101 for (
size_t il = 0; il < level; ++il) levelBuffer <<
" ";
105 m_outputFile << levelBuffer.str() <<
" Trk::Layer with LayerIndex " << layerIdx << std::endl;
106 m_outputFile << levelBuffer.str() <<
" - writing surface representation : " << std::endl;
108 ATH_MSG_VERBOSE(
"Problems to write out surface representation of Trk::Layer with LayerIndex" << layerIdx);
111 m_outputFile << levelBuffer.str() <<
" - contains " << surfArray->
arrayObjects().size() <<
" confined Trk::Surface objects." << std::endl;
112 m_outputFile << levelBuffer.str() <<
" - listing Trk::Surface objects :" << std::endl;
115 m_outputFile << levelBuffer.str() <<
" Trk::NavigationLayer - no geometrical information." << std::endl;
118 return StatusCode::SUCCESS;
125 std::stringstream levelBuffer;
126 for (
size_t il = 0; il < level; ++il) levelBuffer <<
" ";
128 m_outputFile << levelBuffer.str() <<
" Trk::Surface object of type " <<
static_cast<int>(sf.type()) << std::endl;
129 std::string rotationOffset = levelBuffer.str() +
" ";
132 return StatusCode::SUCCESS;
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Binned Array for avoiding map searches/.
virtual std::span< T *const > arrayObjects()=0
Return all objects of the Array non-const we can still modify the T.
GeometryAsciiDumper(const std::string &, const std::string &, const IInterface *)
Constructor.
virtual ~GeometryAsciiDumper()
Destructor.
StatusCode initialize()
AlgTool initialize method.
StatusCode processNode(const TrackingVolume &tvol, size_t level=0) const
Current implementation: write root visualization to file stream.
std::ofstream m_outputFile
StatusCode finalize()
AlgTool finalize method.
std::string m_outputFileName
where the tree is written to
int value() const
layerIndex expressed in an integer
Base Class for a Detector Layer in the Tracking realm.
virtual const Surface & surfaceRepresentation() const =0
Transforms the layer into a Surface representation for extrapolation.
const SurfaceArray * surfaceArray() const
Return the entire SurfaceArray, returns nullptr if no SurfaceArray.
const LayerIndex & layerIndex() const
get the layerIndex
RecursiveGeometryProcessor(const std::string &, const std::string &, const IInterface *)
Constructor.
StatusCode initialize()
AlgTool initialize method.
StatusCode finalize()
AlgTool finalize method.
Abstract Base Class for tracking surfaces.
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
const LayerArray * confinedLayers() const
Return the subLayer array.
const TrackingVolumeArray * confinedVolumes() const
Return the subLayer array.
std::vector< std::shared_ptr< BoundarySurface< TrackingVolume > > > & boundarySurfaces()
Method to return the BoundarySurfaces.
const std::string & volumeName() const
Returns the VolumeName - for debug reason, might be depreciated later.
const Amg::Transform3D & transform() const
Return methods for geometry transform.
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
Ensure that the ATLAS eigen extensions are properly loaded.
BinnedArray< Layer > LayerArray
simply for the eye
BinnedArray< Surface > SurfaceArray