ATLAS Offline Software
Loading...
Searching...
No Matches
ILayerMaterialManipulator.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// ILayerMaterialManipulator.h, (c) ATLAS Detector software
8
9#ifndef TRKDETDESCRINTERFACES_ILAYERMATERIALMANIPULATOR_H
10#define TRKDETDESCRINTERFACES_ILAYERMATERIALMANIPULATOR_H
11
12// Gaudi
13#include "GaudiKernel/IAlgTool.h"
14// STL
15#include <vector>
16#include <cstring>
17
18namespace Trk {
19
21 class LayerIndex;
22
29 class ILayerMaterialManipulator : virtual public IAlgTool {
30
31 public:
34
37
39 virtual const LayerMaterialProperties* processLayerMaterial(const LayerIndex& layIndex, const LayerMaterialProperties& lmp) const = 0;
40
41 };
42
43} // end of namespace
44
45#endif // TRKDETDESCRINTERFACES_ILAYERMATERIALMANIPULATOR_H
Interface class for LayerMaterial manipulation, it creates new LayerMaterial.
DeclareInterfaceID(ILayerMaterialManipulator, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual ~ILayerMaterialManipulator()
Virtual destructor.
virtual const LayerMaterialProperties * processLayerMaterial(const LayerIndex &layIndex, const LayerMaterialProperties &lmp) const =0
process the layer material - after material creation and before loading
LayerIndex for the identification of layers in a simplified detector geometry of Cylinders and Discs.
Definition LayerIndex.h:37
This virtual base class encapsulates the logics to build pre/post/full update material for Layer stru...
Ensure that the ATLAS eigen extensions are properly loaded.