ATLAS Offline Software
Loading...
Searching...
No Matches
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
18namespace 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
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
Define macros for attributes used to control the static checker.
Interface class IGeometryProcessors.
DeclareInterfaceID(IGeometryProcessor, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual ~IGeometryProcessor()
Virtual destructor.
virtual StatusCode process(TrackingGeometry &tvol) const =0
Processor Action to work on TrackingGeometry& tgeo.
virtual StatusCode process(Layer &lay, size_t level=0) const =0
Processor Action to work on Layers.
virtual StatusCode process(TrackingVolume &tvol, size_t level=0) const =0
Processor Action to work on TrackingVolumes - the level is for the hierachy tree.
virtual StatusCode process(Surface &surf, size_t level=0) const =0
Processor Action to work on Surfaces.
Base Class for a Detector Layer in the Tracking realm.
Definition Layer.h:72
Abstract Base Class for tracking surfaces.
The TrackingGeometry class is the owner of the constructed TrackingVolumes.
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
Ensure that the ATLAS eigen extensions are properly loaded.