ATLAS Offline Software
Loading...
Searching...
No Matches
IMaterialMapper.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// IMaterialMapper.h, (c) ATLAS Detector software
8
9#ifndef TRKDETDESCRINTERFACES_IMATERIALMAPPER_H
10#define TRKDETDESCRINTERFACES_IMATERIALMAPPER_H
11
12// Gaudi
13#include "GaudiKernel/IAlgTool.h"
14
16
17namespace Trk {
18 class TrackingVolume;
19 class Layer;
21}
22
23namespace Trk {
24
25
36
37 class IMaterialMapper : virtual public IAlgTool {
38
39 public:
42
44 virtual ~IMaterialMapper(){}
45
47 virtual void recordMaterialHit(const AssociatedMaterial& amhit, const Amg::Vector3D& projectedPosition) const = 0;
48
50 virtual void recordLayerHit(const AssociatedMaterial& amhit, bool full = false) const = 0;
51
53 virtual void recordSurfaceHit(const Amg::Vector2D& locpos, const AssociatedMaterial& amhit) const = 0;
54
55 };
56
57} // end of namespace
58
59#endif // TRKDETDESCRINTERFACES_IMATERIALMAPPER_H
It is used in the Mapping process ( using MaterialSteps ), the validation and recostruction ( using M...
Interface class IMaterialMapper.
virtual ~IMaterialMapper()
Virtual destructor.
virtual void recordMaterialHit(const AssociatedMaterial &amhit, const Amg::Vector3D &projectedPosition) const =0
Record material hit - while stepping outwards.
virtual void recordLayerHit(const AssociatedMaterial &amhit, bool full=false) const =0
Record material hit - if various hits per layer are recorded, full associates to the.
virtual void recordSurfaceHit(const Amg::Vector2D &locpos, const AssociatedMaterial &amhit) const =0
Record material hit.
DeclareInterfaceID(IMaterialMapper, 1, 0)
Creates the InterfaceID and interfaceID() method.
Base Class for a Detector Layer in the Tracking realm.
Definition Layer.h:72
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
Eigen::Matrix< double, 2, 1 > Vector2D
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.