Juggler
Juggling algorithms and event processing using gaudi framework
MaterialWiper.hpp
Go to the documentation of this file.
1 // This file is part of the Acts project.
2 //
3 // Copyright (C) 2019 CERN for the benefit of the Acts project
4 //
5 // This Source Code Form is subject to the terms of the Mozilla Public
6 // License, v. 2.0. If a copy of the MPL was not distributed with this
7 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 
9 ///////////////////////////////////////////////////////////////////
10 // MaterialWiper.hpp, Acts project
11 ///////////////////////////////////////////////////////////////////
12 
13 #pragma once
14 
15 #include "Acts/Geometry/TrackingVolume.hpp"
16 #include "Acts/Material/IMaterialDecorator.hpp"
17 #include "Acts/Surfaces/Surface.hpp"
18 
19 // @note This file will go into the acts-core
20 namespace Acts {
21 
22 /// @class MaterialWiper
23 ///
24 /// This decorator sets the nulls-material
25 ///
26 class MaterialWiper : public IMaterialDecorator {
27  public:
28  /// Decorate a surface
29  ///
30  /// @param surface the non-cost surface that is decorated
31  void decorate(Surface& surface) const final {
32  surface.assignSurfaceMaterial(nullptr);
33  }
34 
35  /// Decorate a TrackingVolume
36  ///
37  /// @param volume the non-cost volume that is decorated
38  virtual void decorate(TrackingVolume& volume) const final {
39  volume.assignVolumeMaterial(nullptr);
40  }
41 };
42 
43 } // namespace Acts
Acts::MaterialWiper::decorate
virtual void decorate(TrackingVolume &volume) const final
Definition: MaterialWiper.hpp:38
Acts::MaterialWiper
Definition: MaterialWiper.hpp:26
Acts::MaterialWiper::decorate
void decorate(Surface &surface) const final
Definition: MaterialWiper.hpp:31
Acts
Definition: MaterialWiper.hpp:20