ATLAS Offline Software
IGeometryProcessor.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // IGeometryProcessor.h, (c) ATLAS Detector software
8 
9 #ifndef TRKDETDESCRINTERFACES_IGEOMETRYPROCESSOR_H
10 #define TRKDETDESCRINTERFACES_IGEOMETRYPROCESSOR_H
11 
12 // Gaudi
13 #include "GaudiKernel/IAlgTool.h"
14 //STL
15 #include <string>
16 
18 namespace Trk {
19 
20  class TrackingGeometry;
21  class TrackingVolume;
22  class Layer;
23  class Surface;
24 
31  class IGeometryProcessor : virtual public IAlgTool {
32 
33  public:
36 
38  virtual ~IGeometryProcessor(){}
39 
41  virtual StatusCode process (TrackingGeometry& tvol) const = 0;
42 
44  virtual StatusCode process (TrackingVolume& tvol, size_t level=0) const = 0;
45 
47  virtual StatusCode process (Layer& lay, size_t level=0) const = 0;
48 
50  virtual StatusCode process(Surface& surf, size_t level=0) const = 0;
51 
52  };
53 
54 } // end of namespace
55 
56 #endif // TRKDETDESCRINTERFACES_IGEOMETRYPROCESSOR_H
Trk::IGeometryProcessor::~IGeometryProcessor
virtual ~IGeometryProcessor()
Virtual destructor.
Definition: IGeometryProcessor.h:38
Trk::IGeometryProcessor::process
virtual StatusCode process(Layer &lay, size_t level=0) const =0
Processor Action to work on Layers.
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
python.RingerConstants.Layer
Layer
Definition: RingerConstants.py:42
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
Trk::IGeometryProcessor::process
virtual StatusCode process(TrackingGeometry &tvol) const =0
Processor Action to work on TrackingGeometry& tgeo.
Trk::IGeometryProcessor::process
virtual StatusCode process(Surface &surf, size_t level=0) const =0
Processor Action to work on Surfaces.
Trk::TrackingGeometry
Definition: TrackingGeometry.h:67
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::IGeometryProcessor::DeclareInterfaceID
DeclareInterfaceID(IGeometryProcessor, 1, 0)
Creates the InterfaceID and interfaceID() method.
Trk::IGeometryProcessor
Definition: IGeometryProcessor.h:31
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
checker_macros.h
Define macros for attributes used to control the static checker.
Trk::TrackingVolume
Definition: TrackingVolume.h:121
Trk::Layer
Definition: Layer.h:73
Trk::IGeometryProcessor::process
virtual StatusCode process(TrackingVolume &tvol, size_t level=0) const =0
Processor Action to work on TrackingVolumes - the level is for the hierachy tree.