22#include "GaudiKernel/ITHistSvc.h"
29 m_outputFile <<
" ============================= TrackingGeometry ASCII file (BOF) =============================" << std::endl;
31 return Trk::RecursiveGeometryProcessor::initialize();
37 m_outputFile <<
" ============================= TrackingGeometry ASCII file (EOF) =============================" << std::endl;
40 return Trk::RecursiveGeometryProcessor::finalize();
49 std::stringstream levelBuffer;
50 for (
size_t il = 0; il < level; ++il) levelBuffer <<
" ";
53 std::string rotationOffset = levelBuffer.str() +
" ";
56 m_outputFile << levelBuffer.str() <<
" - listing Trk::BoundarySurface objects :" << std::endl;
58 for (
size_t ib = 0 ; ib < bSurfaces.size(); ++ib ){
59 if (
processNode(bSurfaces[ib]->surfaceRepresentation(), level+4).isFailure() )
66 m_outputFile << levelBuffer.str() <<
" - contains " << layerArray->
arrayObjects().size() <<
" confined Trk::Layer objects." << std::endl;
67 m_outputFile << levelBuffer.str() <<
" - listing Trk::Layer objects :" << std::endl;
73 m_outputFile << levelBuffer.str() <<
" - contains " << confinedVolumes->
arrayObjects().size() <<
" confined Trk::TrackingVolume objects." << std::endl;
74 m_outputFile << levelBuffer.str() <<
" - stepping down in hierarchy to Trk::TrackingVolume objects :" << std::endl;
77 return StatusCode::SUCCESS;
85 std::stringstream levelBuffer;
86 for (
size_t il = 0; il < level; ++il) levelBuffer <<
" ";
90 m_outputFile << levelBuffer.str() <<
" Trk::Layer with LayerIndex " << layerIdx << std::endl;
91 m_outputFile << levelBuffer.str() <<
" - writing surface representation : " << std::endl;
93 ATH_MSG_VERBOSE(
"Problems to write out surface representation of Trk::Layer with LayerIndex" << layerIdx);
96 m_outputFile << levelBuffer.str() <<
" - contains " << surfArray->
arrayObjects().size() <<
" confined Trk::Surface objects." << std::endl;
97 m_outputFile << levelBuffer.str() <<
" - listing Trk::Surface objects :" << std::endl;
100 m_outputFile << levelBuffer.str() <<
" Trk::NavigationLayer - no geometrical information." << std::endl;
103 return StatusCode::SUCCESS;
110 std::stringstream levelBuffer;
111 for (
size_t il = 0; il < level; ++il) levelBuffer <<
" ";
113 m_outputFile << levelBuffer.str() <<
" Trk::Surface object of type " <<
static_cast<int>(sf.type()) << std::endl;
114 std::string rotationOffset = levelBuffer.str() +
" ";
117 return StatusCode::SUCCESS;
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
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.
Gaudi::Property< int > m_outputPrecision
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
Gaudi::Property< std::string > m_outputFileName
StatusCode finalize()
AlgTool finalize method.
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
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.
BinnedArray< Layer > LayerArray
simply for the eye
BinnedArray< Surface > SurfaceArray