  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
Go to the documentation of this file.
   23     declareInterface<Trk::IGeometryProcessor>(
this);
 
   35     return StatusCode::SUCCESS;
 
   42     return StatusCode::SUCCESS;
 
   53       return process(*worldVolume, 0);
 
   56   ATH_MSG_FATAL(
"No highest level TrackingVolume found. Stopping recursive parsing, abort job.");
 
   57   return StatusCode::FAILURE;
 
   63   std::stringstream displayBuffer;
 
   64   for (
size_t il = 0; 
il < 
level; ++
il) displayBuffer << 
" ";
 
   69   if (processNode(tvol, 
level).isFailure() ){
 
   70       ATH_MSG_FATAL(
"Failed to call processNode(const TrackingVolume&). Aborting.");
 
   71       return StatusCode::FAILURE;
 
   80       for (
const auto & layIter : 
layers){
 
   82              ATH_MSG_WARNING(
"Zero-pointer found in LayerArray - indicates problem !");
 
   84              ATH_MSG_FATAL(
"Failed to call process(const Layer&) on confined layers. Aborting.");
 
   85              return StatusCode::FAILURE;
 
   92    for (
auto & bSurface : bSurfaces){
 
   93        if (bSurface->surfaceRepresentation().associatedLayer()){
 
   97                    *bSurface->surfaceRepresentation().associatedLayer()),
level)
 
   99              ATH_MSG_FATAL(
"Failed to call process(const Layer&) on boundary " 
  101              return StatusCode::FAILURE;
 
  110    if (confinedVolumes) {
 
  112        for (
const auto & volumesIter : volumes){
 
  114               ATH_MSG_WARNING(
"Zero-pointer found in VolumeArray - indicates problem !");
 
  115            if (volumesIter && 
process(*volumesIter, ++
level).isFailure() ){
 
  116                ATH_MSG_FATAL(
"Failed to call process(const TrackingVolume&) on confined volumes. Aborting.");
 
  117                return StatusCode::FAILURE;
 
  123    return StatusCode::SUCCESS;
 
  130     std::stringstream displayBuffer;
 
  131     for (
size_t il = 0; 
il < 
level; ++
il) displayBuffer << 
" ";
 
  135     if (processNode(lay, 
level).isFailure()){
 
  136         ATH_MSG_FATAL(
"Failed to call processNode(const Layer&). Aborting.");
 
  137         return StatusCode::FAILURE;
 
  142         std::span<Trk::Surface * const > layerSurfaces = surfArray->
arrayObjects();
 
  143         ATH_MSG_VERBOSE(displayBuffer.str() << 
"   ---> has " << layerSurfaces.size() << 
" surfaces on the layer.");
 
  145         auto laySurfIter    = layerSurfaces.begin();
 
  146         auto laySurfIterEnd = layerSurfaces.end();
 
  148         for ( ; laySurfIter != laySurfIterEnd; ++laySurfIter) {
 
  150                  ATH_MSG_WARNING(
"Zero-pointer found in SurfaceArray - indicates problem !");
 
  151              if ((*laySurfIter) && 
process(**laySurfIter, 
level).isFailure()){
 
  152                  ATH_MSG_FATAL(
"Failed to call process(const Surface&) on confined layer surfaces. Aborting.");
 
  153                  return StatusCode::FAILURE;
 
  158     return StatusCode::SUCCESS;
 
  163     return processNode(surf, 
level);
 
  168     return StatusCode::SUCCESS;
 
  173     return StatusCode::SUCCESS;
 
  177     return StatusCode::SUCCESS;
 
  
virtual StatusCode processNode(const TrackingVolume &tvol, size_t level=0) const
Dedicated action for the different processors.
 
StatusCode initialize()
AlgTool initialize method.
 
virtual StatusCode process(TrackingGeometry &tgeo) const
Processor Action to work on TrackingGeometry& tgeo.
 
RecursiveGeometryProcessor(const std::string &, const std::string &, const IInterface *)
Constructor.
 
#define ATH_MSG_VERBOSE(x)
 
const LayerArray * confinedLayers() const
Return the subLayer array.
 
const SurfaceArray * surfaceArray() const
Return the entire SurfaceArray, returns nullptr if no SurfaceArray.
 
StatusCode finalize()
AlgTool finalize method.
 
const TrackingVolume * highestTrackingVolume() const
return the world
 
::StatusCode StatusCode
StatusCode definition for legacy code.
 
std::vector< std::shared_ptr< BoundarySurface< TrackingVolume > > > & boundarySurfaces()
Method to return the BoundarySurfaces.
 
virtual std::span< T *const  > arrayObjects()=0
Return all objects of the Array non-const we can still modify the T.
 
const std::string & volumeName() const
Returns the VolumeName - for debug reason, might be depreciated later.
 
virtual ~RecursiveGeometryProcessor()
Destructor.
 
#define ATH_MSG_WARNING(x)
 
const TrackingVolumeArray * confinedVolumes() const
Return the subLayer array.
 
const LayerIndex & layerIndex() const
get the layerIndex