31 declareInterface<Trk::IGeometryProcessor>(
this);
55 return StatusCode::SUCCESS;
66 return process(*worldVolume, 0);
69 ATH_MSG_FATAL(
"No highest level TrackingVolume found. Stopping recursive parsing, abort job.");
70 return StatusCode::FAILURE;
76 std::stringstream displayBuffer;
77 for (
size_t il = 0; il < level; ++il) displayBuffer <<
" ";
85 std::span<Trk::Layer * const> layers = layerArray->
arrayObjects();
86 auto layIter = layers.begin();
87 auto layIterE = layers.end();
88 ATH_MSG_VERBOSE(displayBuffer.str() <<
"--> has " << layers.size() <<
" confined layers." );
89 for ( ; layIter != layIterE; ++layIter){
91 ATH_MSG_WARNING(
"Zero-pointer found in LayerArray - indicates problem !");
92 if ((*layIter) &&
process(**layIter, level).isFailure()){
93 ATH_MSG_FATAL(
"Failed to call process(const Layer&) on confined layers. Aborting.");
94 return StatusCode::FAILURE;
102 if (confinedVolumes) {
103 std::span<Trk::TrackingVolume * const> volumes = confinedVolumes->
arrayObjects();
104 auto volumesIter = volumes.begin();
105 for (; volumesIter != volumes.end(); ++volumesIter){
107 ATH_MSG_WARNING(
"Zero-pointer found in VolumeArray - indicates problem !");
108 if ((*volumesIter) &&
process(**volumesIter, ++level).isFailure() ){
109 ATH_MSG_FATAL(
"Failed to call process(const TrackingVolume&) on confined volumes. Aborting.");
110 return StatusCode::FAILURE;
116 return StatusCode::SUCCESS;
125 return StatusCode::SUCCESS;
131 std::stringstream displayBuffer;
132 for (
size_t il = 0; il < level; ++il) displayBuffer <<
" ";
134 ATH_MSG_DEBUG(displayBuffer.str() <<
" assigning material for Layer with Index: " << lIndex.
value());
135 ATH_MSG_VERBOSE(displayBuffer.str() <<
" Layer memory adress is : " << &lay);
140 return StatusCode::SUCCESS;
145 return StatusCode::SUCCESS;
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
virtual std::span< T *const > arrayObjects()=0
Return all objects of the Array non-const we can still modify the T.
It extends the LayerMaterialProperties base class.
LayerIndex for the identification of layers in a simplified detector geometry of Cylinders and Discs.
int value() const
layerIndex expressed in an integer
Base Class for a Detector Layer in the Tracking realm.
void assignMaterialProperties(const LayerMaterialProperties &, double scale=1.0)
assignMaterialPropeties
const LayerMaterialProperties * layerMaterialProperties() const
getting the LayerMaterialProperties including full/pre/post update
const LayerIndex & layerIndex() const
get the layerIndex
Material with information about thickness of material.
Abstract Base Class for tracking surfaces.
The TrackingGeometry class is the owner of the constructed TrackingVolumes.
const TrackingVolume * highestTrackingVolume() const
return the world
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.
const std::string & volumeName() const
Returns the VolumeName - for debug reason, might be depreciated later.
const std::string process
BinnedArray< Layer > LayerArray
simply for the eye